diff --git a/src/main.rs b/src/main.rs index d57a2e8..888c047 100644 --- a/src/main.rs +++ b/src/main.rs @@ -6,8 +6,10 @@ mod rle; #[cfg(test)] mod test; +use bitvec::vec::BitVec; pub use compression_scheme::CompressionScheme; pub use freq::Freq; +pub use rle::Rle; fn main() -> Result<(), io::Error> { let mut buf = Vec::new(); @@ -15,11 +17,16 @@ fn main() -> Result<(), io::Error> { println!("Original: {len_src}"); - // let len_rle = rle::Encoder::new(&buf).count() * 2; - // println!(" Rle'd: {len_rle}"); + let mut bitbuf = BitVec::new(); - // let len_freq = len_freq_table + len_freq_bits; - // println!(" Freq'd: {len_freq}"); + let () = Rle::encode(&buf, &mut bitbuf); + let len_rle = bitbuf.len().div_ceil(8); + println!(" Rle'd: {len_rle}"); + + bitbuf.clear(); + let header = Freq::encode(&buf, &mut bitbuf); + let len_freq = Freq::header_size(&header) + bitbuf.len().div_ceil(8); + println!(" Freq'd: {len_freq}"); Ok(()) }