Skip to content

fix: preserve exception state and scalar quantization precision - #174

Merged
gouyt13 merged 1 commit into
mainfrom
fix/exception-state-and-scalar-precision
Oct 28, 2026
Merged

gouyt13 merged 1 commit into
mainfrom
fix/exception-state-and-scalar-precision

Conversation

@gouyt13

@gouyt13 gouyt13 commented Oct 28, 2026

Copy link
Copy Markdown
Member

Summary

Preserve valid state when allocation fails during LUT/query copy assignment or visited-set initialization. Synchronize Python IVF readiness after a failed rebuild, retaining an existing valid index on early failures and marking it unbuilt after invalidation.

Keep scalar quantization intermediates in the input type to avoid narrowing double values to float. No public API, saved-index format, or dependency changes.

Testing

  • Portable Release build (RABITQ_ENABLE_NATIVE_OPTIMIZATION=OFF): 370 C++ unit/reference tests passed; one OpenMP placement-dependent test skipped.
  • Standalone allocation-failure checks passed for LUT/query copies, self-copy, moves, reset, and scoring consistency.
  • ./scripts/check-format.sh and git diff --check passed.
  • The final review did not rebuild the Python wheel, rerun Python tests, or rerun full clang-tidy. This patch adds no permanent regression tests.

@github-actions github-actions Bot added the release:fixed Release category managed from the PR title label Oct 28, 2026
@gouyt13
gouyt13 merged commit a5c1aa3 into main Oct 28, 2026
53 checks passed
@gouyt13
gouyt13 deleted the fix/exception-state-and-scalar-precision branch October 28, 2026 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release:fixed Release category managed from the PR title

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant