aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs28
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);
}