using_bitmap8/
using_bitmap8.rs1use fixed_bitmaps::{Bitmap128, Bitmap8, BitmapSize};
2
3fn main() {
4 let mut bitmap = Bitmap8::default();
6
7 println!("Default bitmap: {}", bitmap);
9
10 println!("Value of bitmap: {}", bitmap.to_u8());
12
13 bitmap |= Bitmap8::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_u8());
25
26 match bitmap.set(8, 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 a = Bitmap8::from_set(2).unwrap();
36
37 let b = Bitmap8::from(0b100);
39
40 assert!(a == b);
41
42 let bitmap = Bitmap8::create_bit_mask(3, 6, true);
43 println!("{}", bitmap);
44 println!("{}", *bitmap);
45 println!("{}", 0b111000);
46
47 println!("{:b}", u8::MAX << 3);
48
49 let bitmap = Bitmap8::create_bit_mask(3, 6, false);
50 println!("{}", bitmap);
51 println!("{:b}", u8::MAX.wrapping_shl(8));
52
53 let a = Bitmap128::create_bit_mask(3, 6, false);
54 let b = Bitmap128::create_bit_mask(7, 8, false);
55 let c = Bitmap128::create_bit_mask(0, 1, false);
56 let d = Bitmap128::create_bit_mask(0, 0, false);
57 let e = Bitmap128::create_bit_mask(8, 8, false);
58 let f = Bitmap128::create_bit_mask(0, Bitmap128::MAP_LENGTH, false);
59
60 println!("{}", a);
61 println!("{}", b);
62 println!("{}", c);
63 println!("{}", d);
64 println!("{}", e);
65 println!("{}", f);
66}