{"version":3,"file":"distances.cjs","names":[],"sources":["../../../src/util/ml-distance/distances.ts"],"sourcesContent":["/**\n *Returns the Inner Product similarity between vectors a and b\n * @link [Inner Product Similarity algorithm](https://www.naun.org/main/NAUN/ijmmas/mmmas-49.pdf)\n * @param a - first vector\n * @param b - second vector\n *\n */\nexport function innerProduct(a: number[], b: number[]): number {\n  let ans = 0;\n  for (let i = 0; i < a.length; i++) {\n    ans += a[i] * b[i];\n  }\n  return ans;\n}\n\n/**\n *Returns the Chebyshev distance between vectors a and b\n * @link [Chebyshev algorithm](https://en.wikipedia.org/wiki/Chebyshev_distance)\n * @param a - first vector\n * @param b - second vector\n *\n */\nexport function chebyshev(a: number[], b: number[]): number {\n  let max = 0;\n  let aux = 0;\n  for (let i = 0; i < a.length; i++) {\n    aux = Math.abs(a[i] - b[i]);\n    if (max < aux) {\n      max = aux;\n    }\n  }\n  return max;\n}\n\n/**\n *Returns the Manhattan distance between vectors a and b\n * @link [Manhattan algorithm](https://www.naun.org/main/NAUN/ijmmas/mmmas-49.pdf)\n * @param a - first vector\n * @param b - second vector\n *\n */\n\nexport function manhattan(a: number[], b: number[]): number {\n  let d = 0;\n  for (let i = 0; i < a.length; i++) {\n    d += Math.abs(a[i] - b[i]);\n  }\n  return d;\n}\n"],"mappings":";;;;;;;;AAsBA,SAAgB,UAAU,GAAa,GAAqB;CAC1D,IAAI,MAAM;CACV,IAAI,MAAM;AACV,MAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,KAAK;AACjC,QAAM,KAAK,IAAI,EAAE,KAAK,EAAE,GAAG;AAC3B,MAAI,MAAM,IACR,OAAM;;AAGV,QAAO;;;;;;;;;AAWT,SAAgB,UAAU,GAAa,GAAqB;CAC1D,IAAI,IAAI;AACR,MAAK,IAAI,IAAI,GAAG,IAAI,EAAE,QAAQ,IAC5B,MAAK,KAAK,IAAI,EAAE,KAAK,EAAE,GAAG;AAE5B,QAAO"}