pub struct Quantizer { /* private fields */ }Expand description
Quantizer that converts f32 vectors to int8 with per-vector calibration.
Implementations§
Source§impl Quantizer
impl Quantizer
Sourcepub fn new(dimensions: usize) -> Self
pub fn new(dimensions: usize) -> Self
Create a new quantizer for vectors of the given dimensionality.
Sourcepub fn dimensions(&self) -> usize
pub fn dimensions(&self) -> usize
The configured dimensionality.
Sourcepub fn quantize(&self, vector: &[f32]) -> Result<QuantizedVector, MemoryError>
pub fn quantize(&self, vector: &[f32]) -> Result<QuantizedVector, MemoryError>
Quantize a single f32 vector to int8 with per-vector symmetric calibration.
Symmetric quantization maps to [-127, 127] (254 discrete levels). Each vector gets its own scale/zero_point derived from its min/max values.
Sourcepub fn dequantize(&self, qv: &QuantizedVector) -> Vec<f32>
pub fn dequantize(&self, qv: &QuantizedVector) -> Vec<f32>
Dequantize back to f32 (approximate reconstruction).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Quantizer
impl RefUnwindSafe for Quantizer
impl Send for Quantizer
impl Sync for Quantizer
impl Unpin for Quantizer
impl UnsafeUnpin for Quantizer
impl UnwindSafe for Quantizer
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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