diff options
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/src/main.rs b/src/main.rs index 2b4e6c5..920aee2 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,12 +1,30 @@ use std::env; +use std::fs; +use std::io::Read; -pub mod symbols; -// pub mod tree; -// -use symbols::Tree; +pub mod tree; +pub mod bits; + +use tree::Tree; +use bits::BitSet; fn main() { let file_path = env::args().nth(1).unwrap(); - let tree = Tree::from_file(&file_path).unwrap(); + + let f = fs::File::open(file_path).unwrap(); + let data: Vec<u8> = f.bytes().map(|x| x.unwrap()).collect(); + + let tree = Tree::from_data(&data); tree.put(); + + let bitmap = tree.to_bit_map(); + for (k, v) in bitmap.iter() { + println!("{:4} {:?}", format!("{:?}", *k as char), v); + } + + let mut bitset = BitSet::new(); + for byte in data { + bitset.concat(&bitmap[&byte]); + } + println!("{:?}", bitset); } |
