pub fn quantize_binary(emb: &Vector) -> Result<QuantizedVector, QuantError>Expand description
Quantizes an embedding vector to binary (1-bit per value)
Binary quantization uses a simple threshold-based approach:
- Calculate the mean of all values
- Each value above mean → bit 1
- Each value below mean → bit 0
This is extremely lossy but preserves relative ordering and is fast for similarity.
§Arguments
emb- The embedding vector to quantize
§Returns
Ok(QuantizedVector)- Quantized vector with 32x compressionErr(QuantError)- If quantization fails
§Example
use lnmp_quant::binary::quantize_binary;
use lnmp_embedding::Vector;
let emb = Vector::from_f32(vec![0.1, -0.2, 0.3, -0.4]);
let quantized = quantize_binary(&emb).unwrap();
assert_eq!(quantized.scheme, lnmp_quant::QuantScheme::Binary);