using_bitmap64/
using_bitmap64.rs1use fixed_bitmaps::Bitmap64;
2
3fn main() {
4 let mut bitmap = Bitmap64::default();
6
7 println!("Default bitmap: {}", bitmap);
9
10 println!("Value of bitmap: {}", bitmap.to_u64());
12
13 bitmap |= Bitmap64::from(101);
15
16 println!("Bitmap after OR-ing with 101: {}", bitmap);
18
19 bitmap.set(4, true).unwrap();
22
23 println!("Bitmap value: {}", bitmap.to_u64());
25
26 match bitmap.set(64, true) {
28 Ok(_) => println!("That wasn't meant to happen... something's up with my implementation!"),
29 Err(error) => {
30 println!("Yep, threw an error as expected. Error message is as follows:");
31 eprintln!("{}", error);
32 }
33 }
34
35 let _empty = Bitmap64::default();
37 let _full = Bitmap64::from(u64::MAX);
38
39 let _bitmap = Bitmap64::from(9);
41 let _bitmap = Bitmap64::from(0b1001);
42
43 let mut bitmap = Bitmap64::from_set(6).unwrap();
45
46 bitmap.set(6, false).unwrap();
48 bitmap.set(42, true).unwrap();
49
50 println!("Bit at index 42: {}", bitmap.get(42).unwrap());
52
53 let bitmap1 = Bitmap64::from(0b1001);
55 let bitmap2 = Bitmap64::from(0b1010);
56
57 let _and = bitmap1 & bitmap2;
58 let _or = bitmap1 | bitmap2;
59 let _xor = bitmap1 ^ bitmap2;
60
61 let _add = bitmap1 + 10;
63 let _sub = bitmap1 - 4;
64 let _mul = bitmap2 * 2;
65 let _div = bitmap2 / 2;
66
67 let _add = bitmap1 + Bitmap64::from(10);
69 let _sub = bitmap1 - Bitmap64::from(4);
70 let _mul = bitmap2 * Bitmap64::from(2);
71 let _div = bitmap2 / Bitmap64::from(2);
72}