Summary:
Fix RaBitQ FastScan aux-factor lookup for bbs > 32 so SIMD sub-blocks read factors from the correct vector offsets.
Pull Request resolved: https://github.com/facebookresearch/faiss/pull/5421
Test Plan:
Added regression coverage for the bbs>32 aux-factor offset fix.
Non-IVF path (imported C++ test, now wired into the internal Buck build via a new `test_rabitq_fastscan_cpp` target):
buck test fbcode//faiss/tests:test_rabitq_fastscan_cpp => Pass 1
IVF path (new end-to-end regression test `test_ivf_large_bbs_aux_offsets`; `nlist=1` + `bbs=64` so a single list spans multiple bbs blocks and the `b>=1` SIMD sub-blocks exercise `idx_base % bbs != 0`):
buck test fbcode//faiss/tests:test_rabitq_fastscan -- test_ivf_large_bbs_aux_offsets => Pass 1
Red/green verified: the IVF test FAILS on the pre-fix offset (`aux_base + j * storage_size`) and PASSES with the fix (`aux_base + ((idx_base % bbs) + j) * storage_size`).
Reviewed By: mnorris11
Differential Revision: D112829433
Pulled By: alibeklfc
fbshipit-source-id: 0271fddc459a6af6675ebfb9078c44e9476733b3