#[repr(C)]pub struct TurboQuantBlock32 {
pub base_codes: [u8; 12],
pub residual_signs: u32,
pub base_scale: u16,
pub residual_scale: u16,
}Expand description
Packed 32-weight TurboQuant block.
- 32 x 3-bit Lloyd-Max base codes: 96 bits (12 bytes)
- 32 x 1-bit QJL residual signs: 32 bits (4 bytes)
- 1 BF16 base scale: 16 bits (2 bytes)
- 1 BF16 residual scale: 16 bits (2 bytes) Total: 20 bytes (160 bits) for 32 weights.
Fields§
§base_codes: [u8; 12]3-bit base codes packed into 12 bytes (96 bits)
residual_signs: u321-bit QJL residual signs packed into 4 bytes (32 bits)
base_scale: u16Base standard deviation scale in BF16
residual_scale: u16Residual scale (sqrt(2/pi) * std(r)) in BF16
Implementations§
Trait Implementations§
Source§impl Clone for TurboQuantBlock32
impl Clone for TurboQuantBlock32
impl Copy for TurboQuantBlock32
Source§impl Debug for TurboQuantBlock32
impl Debug for TurboQuantBlock32
Source§impl Default for TurboQuantBlock32
impl Default for TurboQuantBlock32
impl Eq for TurboQuantBlock32
Source§impl PartialEq for TurboQuantBlock32
impl PartialEq for TurboQuantBlock32
impl StructuralPartialEq for TurboQuantBlock32
Auto Trait Implementations§
impl Forget for TurboQuantBlock32
impl Freeze for TurboQuantBlock32
impl Move for TurboQuantBlock32
impl RefUnwindSafe for TurboQuantBlock32
impl Send for TurboQuantBlock32
impl Sync for TurboQuantBlock32
impl Unpin for TurboQuantBlock32
impl UnsafeUnpin for TurboQuantBlock32
impl UnwindSafe for TurboQuantBlock32
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