pub mod codebook;
pub mod mse;
pub mod pack;
pub mod prod;
pub mod qjl;
pub mod rotation;
pub mod store;
pub use codebook::Codebook;
pub use mse::{QuantizedVector, TurboQuantMse};
pub use prod::{QuantizedProdVector, TurboQuantProd};
pub use qjl::QjlTransform;
pub use rotation::Rotation;
pub use store::CompressedEmbeddingStore;
#[derive(Debug, thiserror::Error)]
pub enum QuantError {
#[error("unsupported bit-width: {0} (must be 1-4)")]
UnsupportedBitWidth(u8),
#[error("dimension mismatch: expected {expected}, got {got}")]
DimensionMismatch { expected: usize, got: usize },
#[error("format error: {0}")]
Format(String),
#[error("I/O error: {0}")]
Io(#[from] std::io::Error),
}