UNPKG

@thi.ng/vectors

Version:

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

17 lines (16 loc) 389 B
const distJaccard = (a, b) => 1 - jaccardSimilarity(a, b); const jaccardSimilarity = (a, b) => { let numUnion = 0; let numIsec = 0; for (let i = a.length; i-- > 0; ) { const aa = a[i] !== 0; const bb = b[i] !== 0; numUnion += ~~(aa || bb); numIsec += ~~(aa && bb); } return numUnion > 0 ? numIsec / numUnion : 0; }; export { distJaccard, jaccardSimilarity };