Skip to main content

ad_core_rs/
codec.rs

1/// Codec names for compressed NDArray data.
2#[derive(Debug, Clone, Copy, PartialEq, Eq)]
3pub enum CodecName {
4    None,
5    JPEG,
6    LZ4,
7    Blosc,
8}
9
10/// Codec information attached to an NDArray.
11#[derive(Debug, Clone)]
12pub struct Codec {
13    pub name: CodecName,
14    pub compressed_size: usize,
15}
16
17#[cfg(test)]
18mod tests {
19    use super::*;
20
21    #[test]
22    fn test_codec_clone() {
23        let c = Codec {
24            name: CodecName::LZ4,
25            compressed_size: 1024,
26        };
27        let c2 = c.clone();
28        assert_eq!(c2.name, CodecName::LZ4);
29        assert_eq!(c2.compressed_size, 1024);
30    }
31
32    #[test]
33    fn test_codec_name_none() {
34        assert_eq!(CodecName::None, CodecName::None);
35        assert_ne!(CodecName::None, CodecName::JPEG);
36    }
37}