noodles_cram/codecs/
rans_4x8.rs1mod decode;
4mod encode;
5mod order;
6
7pub use self::order::Order;
8pub(crate) use self::{decode::decode, encode::encode};
9
10const ALPHABET_SIZE: usize = 256; const STATE_COUNT: usize = 4; const LOWER_BOUND: u32 = 1 << 23; #[cfg(test)]
16mod tests {
17 use std::io;
18
19 use super::*;
20
21 #[test]
22 fn test_self_0() -> io::Result<()> {
23 let data = b"noodles";
24
25 let compressed_data = encode(Order::Zero, data)?;
26
27 let mut reader = &compressed_data[..];
28 let decompressed_data = decode(&mut reader)?;
29
30 assert_eq!(decompressed_data, data);
31
32 Ok(())
33 }
34
35 #[test]
36 fn test_self_1() -> io::Result<()> {
37 let data = b"noodles";
38
39 let compressed_data = encode(Order::One, data)?;
40
41 let mut reader = &compressed_data[..];
42 let decompressed_data = decode(&mut reader)?;
43
44 assert_eq!(decompressed_data, data);
45
46 Ok(())
47 }
48}