1pub mod decoder;
2pub mod delta;
3pub mod encoder;
4pub mod vector;
5
6pub use decoder::Decoder;
7pub use delta::{DeltaChange, UpdateStrategy, VectorDelta};
8pub use encoder::Encoder;
9pub use vector::{EmbeddingType, SimilarityMetric, Vector};
10
11#[cfg(test)]
12mod tests {
13 use super::*;
14 use crate::decoder::Decoder;
15 use crate::encoder::Encoder;
16
17 #[test]
18 fn test_encode_decode() {
19 let original = Vector::from_f32(vec![0.5, -0.5, 1.0]);
20 let encoded = Encoder::encode(&original).expect("Failed to encode");
21 let decoded = Decoder::decode(&encoded).expect("Failed to decode");
22
23 assert_eq!(original.dim, decoded.dim);
24 assert_eq!(original.dtype, decoded.dtype);
25 assert_eq!(original.data, decoded.data);
26 }
27}