UNPKG

@thi.ng/vectors

Version:

Optimized 2d/3d/4d and arbitrary length vector operations, support for memory mapping/layouts

17 lines (16 loc) 331 B
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 };