From 3320354096d6ab9ed5231d2ba625c5beceb6b722 Mon Sep 17 00:00:00 2001 From: felixboettger <56822158+felixboettger@users.noreply.github.com> Date: Sat, 5 Feb 2022 01:02:59 +0100 Subject: [PATCH 1/2] Change to else to respect standard choice (L2) --- src/index.js | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index f068bcc..84254a9 100644 --- a/src/index.js +++ b/src/index.js @@ -157,7 +157,29 @@ function normalize(vector, norm) { for (i = 0; i < vector.length; i++) { vector[i] = Math.sqrt(vector[i] / denom); } - } else { // i.e norm === "L2" + } else if (norm === "L2-hys") { + sum = 0; + for (i = 0; i < vector.length; i++) { + sum += vector[i] * vector[i]; + } + denom = Math.sqrt(sum + epsilon); + for (i = 0; i < vector.length; i++) { + vector[i] /= denom; + } + for (i = 0; i < vector.length; i++) { + if (vector[i] > 0.2 || vector[i] < -0.2){ + vector[i] = 0.2; + } + } + sum = 0; + for (i = 0; i < vector.length; i++) { + sum += vector[i] * vector[i]; + } + denom = Math.sqrt(sum + epsilon); + for (i = 0; i < vector.length; i++) { + vector[i] /= denom; + } + else // i.e norm === "L2"{ sum = 0; for (i = 0; i < vector.length; i++) { sum += vector[i] * vector[i]; From 688e44369af7e62dea41199cc610ff9ec9669699 Mon Sep 17 00:00:00 2001 From: felixboettger <56822158+felixboettger@users.noreply.github.com> Date: Sat, 5 Feb 2022 11:52:57 +0100 Subject: [PATCH 2/2] Fix bug found by targos MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Michaƫl Zasso --- src/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/index.js b/src/index.js index 84254a9..a696800 100644 --- a/src/index.js +++ b/src/index.js @@ -179,7 +179,7 @@ function normalize(vector, norm) { for (i = 0; i < vector.length; i++) { vector[i] /= denom; } - else // i.e norm === "L2"{ + else { // i.e norm === "L2" sum = 0; for (i = 0; i < vector.length; i++) { sum += vector[i] * vector[i];