pub mod product_quantizer;
pub mod residual_vq;
pub mod vector_quantizer;
pub mod vqvae_tokenizer;
pub use product_quantizer::*;
pub use residual_vq::*;
pub use vector_quantizer::*;
pub use vqvae_tokenizer::*;
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_vqvae_core_public_api_accessible() {
let config = VQConfig::default();
let _vq = VectorQuantizer::new(config.clone());
let _tok = VQVAETokenizer::new(16, config.clone());
let _rvq = ResidualVQ::new(2, config.clone());
let _rvqvae = RVQVAETokenizer::new(16, 2, config);
let pq_config = ProductQuantizerConfig {
num_subspaces: 2,
codebook_size_per_subspace: 8,
embed_dim: 16,
..Default::default()
};
let _pq = ProductQuantizer::new(pq_config).expect("ProductQuantizer creation failed");
let _result: BatchQuantizeResult = (vec![], vec![]);
}
}