Improved k-means code [skip ci]

This commit is contained in:
Andrew Kane
2024-04-11 17:16:54 -07:00
parent c581db9f98
commit 7fddd296ee

View File

@@ -267,19 +267,17 @@ ElkanKmeans(Relation index, VectorArray samples, VectorArray centers, IvfflatTyp
aggCenters = VectorArrayInit(numCenters, dimensions, centers->itemsize); aggCenters = VectorArrayInit(numCenters, dimensions, centers->itemsize);
for (int64 j = 0; j < numCenters; j++) for (int64 j = 0; j < numCenters; j++)
{
if (type == IVFFLAT_TYPE_VECTOR)
{ {
Vector *vec = (Vector *) VectorArrayGet(aggCenters, j); Vector *vec = (Vector *) VectorArrayGet(aggCenters, j);
SET_VARSIZE(vec, VECTOR_SIZE(dimensions)); SET_VARSIZE(vec, VECTOR_SIZE(dimensions));
vec->dim = dimensions; vec->dim = dimensions;
} }
if (type == IVFFLAT_TYPE_VECTOR)
newCenters = aggCenters;
else else
elog(ERROR, "Unsupported type"); elog(ERROR, "Unsupported type");
}
newCenters = aggCenters;
#ifdef IVFFLAT_MEMORY #ifdef IVFFLAT_MEMORY
ShowMemoryUsage(totalSize); ShowMemoryUsage(totalSize);