pub struct Int4Quantized {
pub data: Vec<u8>,
pub min: f32,
pub scale: f32,
pub dimensions: usize,
}Expand description
Int4 quantization (8x compression)
Quantizes f32 to 4-bit integers (0-15), packing 2 values per byte. Provides 8x compression with better precision than binary.
Fields§
§data: Vec<u8>Packed 4-bit values (2 per byte)
min: f32Minimum value for dequantization
scale: f32Scale factor for dequantization
dimensions: usizeNumber of dimensions
Implementations§
Source§impl Int4Quantized
impl Int4Quantized
Sourcepub fn distance(&self, other: &Self) -> f32
pub fn distance(&self, other: &Self) -> f32
Calculate distance to another Int4 quantized vector
Sourcepub fn reconstruct(&self) -> Vec<f32>
pub fn reconstruct(&self) -> Vec<f32>
Reconstruct approximate full-precision vector
Sourcepub fn compression_ratio() -> f32
pub fn compression_ratio() -> f32
Get compression ratio (8x for Int4)
Trait Implementations§
Source§impl Clone for Int4Quantized
impl Clone for Int4Quantized
Source§fn clone(&self) -> Int4Quantized
fn clone(&self) -> Int4Quantized
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Int4Quantized
impl Debug for Int4Quantized
Source§impl<'de> Deserialize<'de> for Int4Quantized
impl<'de> Deserialize<'de> for Int4Quantized
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for Int4Quantized
impl RefUnwindSafe for Int4Quantized
impl Send for Int4Quantized
impl Sync for Int4Quantized
impl Unpin for Int4Quantized
impl UnwindSafe for Int4Quantized
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