pub mod backend;
pub mod batch;
pub mod bitpack;
pub mod codebook;
pub mod error;
#[cfg(feature = "gpu")]
pub mod gpu;
pub mod kv_cache;
pub mod polar;
pub mod qjl;
pub mod real_model;
pub mod rotation;
pub mod scalar_quant;
pub mod trace;
pub mod turboquant_mse;
pub mod turboquant_prod;
pub mod utils;
pub use backend::ExecutionBackend;
pub use batch::{
batch_attention_scores_mse, batch_attention_scores_mse_with_backend, batch_dequantize_mse,
batch_dequantize_mse_with_backend, batch_estimate_inner_products,
batch_estimate_inner_products_with_backend, batch_ip_error, batch_mse, batch_quantize_mse,
batch_quantize_mse_with_backend, batch_quantize_prod, batch_quantize_prod_with_backend,
BatchQuantizedMSE, BatchQuantizedProd, BatchStats,
};
pub use bitpack::BitPackedVector;
pub use codebook::Codebook;
pub use error::{Result, TurboQuantError};
pub use kv_cache::{
CacheStats, KVCacheConfig, MultiHeadCacheStats, MultiHeadConfig, MultiHeadKVCache,
QuantStrategy, QuantizedKVCache,
};
pub use polar::{PolarQuant, PolarQuantized};
pub use qjl::{QJLQuantized, QJL};
pub use real_model::{
KvCacheUsage, RealModelGenerationConfig, RealModelQuantizationConfig, RealModelRunner,
RealModelTrace, SupportedRealModel,
};
pub use rotation::RandomRotation;
pub use scalar_quant::ScalarQuantizer;
pub use trace::{KvTrace, TraceMetadata, TraceSample};
pub use turboquant_mse::{QuantizedVector, TurboQuantMSE};
pub use turboquant_prod::{ProdQuantized, TurboQuantProd};