Releases: Fieldnote-Echo/ordvec
Releases · Fieldnote-Echo/ordvec
v0.2.0
Immutable
release. Only release title and notes can be modified.
Training-free ordinal & sign vector quantization for compressed nearest-neighbour retrieval. Pure Rust, zero system dependencies (no BLAS / ndarray / faer).
Index families
Rank— full-precision rank vectors (u16/coord); Spearman + asymmetric float-query-LUT scoring.RankQuant— bucketed ranks at 1/2/4 bits/coord (dim*bits/8bytes/doc); symmetric + asymmetric scoring.Bitmap— top-bucket bitmap;popcount(Q AND D)with built-in two-stage retrieval (candidate probe → exact rerank).SignBitmap— sign-cosine candidate generation.RankQuantFastscan(#[doc(hidden)], FastScan b=2) andMultiBucketBitmap(experimental).
Platform & perf
- Runtime SIMD dispatch — AVX-512 / AVX2 (x86_64), NEON (aarch64),
simd128(wasm32), scalar fallback. write/loadpersistence for every index type; loaders validate magic / version / bounds / exact-length.- Reproducible synthetic benchmark (
cargo run --release --example bench_rank) +.npycorpus loading.
Python
ordvecon PyPI — PyO3 / abi3-py310 (Python ≥ 3.10, numpy ≥ 2.0):Rank/RankQuant/Bitmap/SignBitmap.
Safety
#![deny(unsafe_op_in_unsafe_fn)]crate-wide; public APIs fail loud on out-of-domain input (rank_to_bucketrejectsrank >= d; Python raisesValueError).- 7 cargo-fuzz targets run per-PR + weekly in CI.
- Remediated pytest CVE-2025-71176 (GHSA-6w46-j5rx-g56g).
Notes
- MSRV 1.89 (AVX-512 intrinsics floor). Dual-licensed MIT OR Apache-2.0. Deprecated
*Indexaliases retained for back-compat.