diff --git a/src/ivfkmeans.c b/src/ivfkmeans.c index 35f32d1..cddd724 100644 --- a/src/ivfkmeans.c +++ b/src/ivfkmeans.c @@ -251,7 +251,7 @@ ElkanKmeans(Relation index, VectorArray samples, VectorArray centers) for (j = 0; j < numSamples; j++) { minDistance = DBL_MAX; - closestCenter = -1; + closestCenter = 0; /* Find closest center */ for (k = 0; k < numCenters; k++) diff --git a/src/vector.c b/src/vector.c index 392d98a..5e1e0b6 100644 --- a/src/vector.c +++ b/src/vector.c @@ -330,7 +330,10 @@ vector_recv(PG_FUNCTION_ARGS) result = InitVector(dim); for (i = 0; i < dim; i++) + { result->x[i] = pq_getmsgfloat4(buf); + CheckElement(result->x[i]); + } PG_RETURN_POINTER(result); }