diff --git a/src/ivfkmeans.c b/src/ivfkmeans.c index e8c2c95..94c0294 100644 --- a/src/ivfkmeans.c +++ b/src/ivfkmeans.c @@ -192,6 +192,7 @@ ElkanKmeans(Relation index, VectorArray samples, VectorArray centers) double dxc; /* Calculate allocation sizes */ + Size newCentersSize = VECTOR_ARRAY_SIZE(numCenters, dimensions); Size centerCountsSize = sizeof(int) * numCenters; Size closestCentersSize = sizeof(int) * numSamples; Size lowerBoundSize = sizeof(float) * numSamples * numCenters; @@ -201,7 +202,7 @@ ElkanKmeans(Relation index, VectorArray samples, VectorArray centers) Size newcdistSize = sizeof(float) * numCenters; /* Calculate total size */ - Size totalSize = centerCountsSize + closestCentersSize + lowerBoundSize + upperBoundSize + sSize + halfcdistSize + newcdistSize; + Size totalSize = newCentersSize + centerCountsSize + closestCentersSize + lowerBoundSize + upperBoundSize + sSize + halfcdistSize + newcdistSize; /* Check memory requirements */ /* Add one to error message to ceil */