From b6430bae6279f9786301a2601b3e89177814a05d Mon Sep 17 00:00:00 2001 From: Andrew Kane Date: Sun, 4 Jun 2023 13:37:31 -0700 Subject: [PATCH] Moved overflow check --- src/ivfkmeans.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ivfkmeans.c b/src/ivfkmeans.c index ccb85f5..35f32d1 100644 --- a/src/ivfkmeans.c +++ b/src/ivfkmeans.c @@ -398,9 +398,6 @@ ElkanKmeans(Relation index, VectorArray samples, VectorArray centers) if (centerCounts[j] > 0) { - for (k = 0; k < dimensions; k++) - vec->x[k] /= centerCounts[j]; - /* Double avoids overflow, but requires more memory */ /* TODO Update bounds */ for (k = 0; k < dimensions; k++) @@ -408,6 +405,9 @@ ElkanKmeans(Relation index, VectorArray samples, VectorArray centers) if (isinf(vec->x[k])) vec->x[k] = vec->x[k] > 0 ? FLT_MAX : -FLT_MAX; } + + for (k = 0; k < dimensions; k++) + vec->x[k] /= centerCounts[j]; } else {