zvec/tests/core
egolearner 23a1ef815e
fix: validate reformer/entity ex_bits consistency in HnswRabitqStreamer (#436)
When a RabitqReformer trained with one total_bits is reused for an entity
configured with a different total_bits, the quantized data layout (ex_code
size) silently mismatches. This causes get_full_est() to interpret binary
quantization codes as floating-point factors, producing garbage distances
that sporadically drop search results.

Add an ex_bits() accessor to RabitqReformer and validate it against the
entity's ex_bits in HnswRabitqStreamer::open(), returning IndexError_Mismatch
on inconsistency. Fix the HNSWRabitqGeneral test to re-create a converter
and reformer with matching total_bits=2 for the third invocation. Add
TestExBitsMismatch to verify the mismatch is correctly rejected.
2026-06-02 11:12:15 +08:00
..
algorithm fix: validate reformer/entity ex_bits consistency in HnswRabitqStreamer (#436) 2026-06-02 11:12:15 +08:00
framework fix(build): replace CMAKE_SOURCE_DIR with PROJECT_ROOT_DIR for subproject builds (#195) 2026-03-04 20:01:52 +08:00
interface fix: validate reformer/entity ex_bits consistency in HnswRabitqStreamer (#436) 2026-06-02 11:12:15 +08:00
metric refactor: remove hamming metric (#365) 2026-05-18 19:31:20 +08:00
quantizer fix(build): replace CMAKE_SOURCE_DIR with PROJECT_ROOT_DIR for subproject builds (#195) 2026-03-04 20:01:52 +08:00
utility chore: rm buffer manager (#437) 2026-06-02 09:51:41 +08:00
CMakeLists.txt fix(build): replace CMAKE_SOURCE_DIR with PROJECT_ROOT_DIR for subproject builds (#195) 2026-03-04 20:01:52 +08:00