@thi.ng/vectors
Version:
Optimized 2d/3d/4d and arbitrary length vector operations, support for memory mapping/layouts
17 lines (16 loc) • 331 B
JavaScript
const distCosine = (a, b) => {
let asum = 0;
let bsum = 0;
let dot = 0;
for (let i = 0, n = a.length; i < n; i++) {
const aa = a[i];
const bb = b[i];
asum += aa * aa;
bsum += bb * bb;
dot += aa * bb;
}
return asum && bsum ? dot / (Math.sqrt(asum) * Math.sqrt(bsum)) : 0;
};
export {
distCosine
};