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