diff --git a/jvector-base/src/main/java/io/github/jbellis/jvector/quantization/MutablePQVectors.java b/jvector-base/src/main/java/io/github/jbellis/jvector/quantization/MutablePQVectors.java index b47d2b9ce..41bec7075 100644 --- a/jvector-base/src/main/java/io/github/jbellis/jvector/quantization/MutablePQVectors.java +++ b/jvector-base/src/main/java/io/github/jbellis/jvector/quantization/MutablePQVectors.java @@ -53,7 +53,7 @@ public MutablePQVectors(ProductQuantization pq) { public void encodeAndSet(int ordinal, VectorFloat vector) { ensureChunkCapacity(ordinal); // increase count first so get() works - vectorCount.updateAndGet(current -> max(current, ordinal + 1)); + vectorCount.accumulateAndGet(ordinal + 1, Math::max); pq.encodeTo(vector, get(ordinal)); } @@ -61,7 +61,7 @@ public void encodeAndSet(int ordinal, VectorFloat vector) { public void setZero(int ordinal) { ensureChunkCapacity(ordinal); // increase count first so get() works - vectorCount.updateAndGet(current -> max(current, ordinal + 1)); + vectorCount.accumulateAndGet(ordinal + 1, Math::max); get(ordinal).zero(); }