pub struct BpsBuilder<'a> { /* private fields */ }Expand description
Builder for BPS sketches
Implementations§
Source§impl<'a> BpsBuilder<'a>
impl<'a> BpsBuilder<'a>
Sourcepub fn new(config: &'a BpsConfig, rotated_vectors: &'a [Vec<f32>]) -> Self
pub fn new(config: &'a BpsConfig, rotated_vectors: &'a [Vec<f32>]) -> Self
Create a new BPS builder
Sourcepub fn build(&self) -> (Vec<u8>, Vec<BpsQParam>)
pub fn build(&self) -> (Vec<u8>, Vec<BpsQParam>)
Build BPS data in SoA layout with quantization parameters Layout: [(block * num_proj + proj) * n_vec + vec] Returns: (bps_data, qparams per slot)
Sourcepub fn compute_query_sketch_with_params(
config: &BpsConfig,
rotated_query: &[f32],
qparams: &[BpsQParam],
) -> Vec<u8> ⓘ
pub fn compute_query_sketch_with_params( config: &BpsConfig, rotated_query: &[f32], qparams: &[BpsQParam], ) -> Vec<u8> ⓘ
Compute query sketch using stored quantization parameters
Sourcepub fn compute_query_sketch(
config: &BpsConfig,
rotated_query: &[f32],
) -> Vec<u8> ⓘ
👎Deprecated since 0.5.0: use compute_query_sketch_with_params() — symmetric quantization mismatches index qparams
pub fn compute_query_sketch( config: &BpsConfig, rotated_query: &[f32], ) -> Vec<u8> ⓘ
use compute_query_sketch_with_params() — symmetric quantization mismatches index qparams
Legacy: Compute query sketch without stored params (for backwards compat)
DEPRECATED: This function uses symmetric quantization which does NOT
match the asymmetric quantization used when building the index. The
mismatch inflates L1 distances and degrades recall.
Use compute_query_sketch_with_params() instead, passing the BpsQParams
stored during index build.
Auto Trait Implementations§
impl<'a> Freeze for BpsBuilder<'a>
impl<'a> RefUnwindSafe for BpsBuilder<'a>
impl<'a> Send for BpsBuilder<'a>
impl<'a> Sync for BpsBuilder<'a>
impl<'a> Unpin for BpsBuilder<'a>
impl<'a> UnsafeUnpin for BpsBuilder<'a>
impl<'a> UnwindSafe for BpsBuilder<'a>
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more