pub struct BinaryStore { /* private fields */ }Expand description
Binary code store for Hamming distance pre-filtering. Encodes vectors as 1-bit-per-dimension codes via randomized Walsh-Hadamard rotation + sign extraction (SimHash).
Implementations§
Source§impl BinaryStore
impl BinaryStore
Sourcepub fn build(store: &PointStore) -> Self
pub fn build(store: &PointStore) -> Self
Build binary codes: random sign flips (D) + Walsh-Hadamard in blocks of
largest_pow2_factor(dim). Fixed seed for build/query consistency.
Sourcepub fn code_words(&self) -> usize
pub fn code_words(&self) -> usize
Number of u64 words per binary code.
Sourcepub fn encode_query(&self, query: &[f32]) -> Vec<u64>
pub fn encode_query(&self, query: &[f32]) -> Vec<u64>
Encode a query vector to binary code using the same HD rotation.
Auto Trait Implementations§
impl Freeze for BinaryStore
impl RefUnwindSafe for BinaryStore
impl Send for BinaryStore
impl Sync for BinaryStore
impl Unpin for BinaryStore
impl UnsafeUnpin for BinaryStore
impl UnwindSafe for BinaryStore
Blanket Implementations§
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> 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