12345678910111213141516171819202122232425262728293031323334353637 |
- module.exports = {
- /**
- * Euclidean distance
- */
- eudist(v1,v2,sqrt) {
- var len = v1.length;
- var sum = 0;
- for(let i=0;i<len;i++) {
- var d = (v1[i]||0) - (v2[i]||0);
- sum += d*d;
- }
- // Square root not really needed
- return sqrt? Math.sqrt(sum) : sum;
- },
- mandist(v1,v2,sqrt) {
- var len = v1.length;
- var sum = 0;
- for(let i=0;i<len;i++) {
- sum += Math.abs((v1[i]||0) - (v2[i]||0));
- }
- // Square root not really needed
- return sqrt? Math.sqrt(sum) : sum;
- },
- /**
- * Unidimensional distance
- */
- dist(v1,v2,sqrt) {
- var d = Math.abs(v1-v2);
- return sqrt? d : d*d;
- }
- }
|