Skip to main content

turboquant_quantize

Function turboquant_quantize 

Source
pub fn turboquant_quantize(
    x: &[f32],
    config: &TurboQuantConfig,
) -> Result<(Vec<u8>, f32)>
Expand description

Quantize a single head vector using TurboQuant_mse.

Steps:

  1. Apply FWHT (Walsh-Hadamard rotation) for incoherence
  2. Extract L2 norm
  3. Normalize to unit vector
  4. Quantize each coordinate against the appropriate Lloyd-Max codebook
  5. Pack indices

§Arguments

  • x — input vector of length config.head_dim
  • config — quantization configuration

§Returns

(packed_indices, norm) on success.