1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
use ;
// pub fn pow(n: u32, t: u32) -> u32 {
// if t == 0 {
// 1
// } else {
// let mut g = n;
// for _ in 0..t - 1 {
// g *= n;
// }
// g
// }
// }
// #[test]
// fn do_pow() {
// assert_eq!(1, pow(4, 0));
// assert_eq!(4, pow(4, 1));
// assert_eq!(16, pow(4, 2));
// assert_eq!(64, pow(4, 3));
// }
// const PAD : &str = "0";
// pub fn pad(s : String, len : usize) -> String{
// if s.len() < len {
// let i = len - s.len();
// let mut t = String::new();
// for _ in 0..i {
// t.push_str(PAD);
// }
// t.push_str(&s);
// t
// } else {
// s
// }
// }
// #[test]
// fn do_pad() {
// let mut s = String::from("1");
// let t = String::from("0001");
// assert_eq!(t, pad(s, 4));
// let mut s = String::from("1111");
// let t = String::from("1111");
// assert_eq!(t, pad(s, 4));
// }
// pub fn bin_to_vec(s : String) -> Vec<u8> {
// assert_eq!(0, s.len() % 8);
// let mut v = Vec::new();
// let len = s.len() / 8;
// println!("{}", len);
// let mut c = s.chars();
// for _ in 0..len {
// let mut i : u8 = 0;
// for y in 0..8 {
// if c.next().unwrap() == '1' {
// i += pow(2, 7 - y as u32) as u8;
// }
// }
// v.push(i);
// }
// v
// }
// #[test]
// fn do_bin_to_vec() {
// let t = String::from("00000001");
// let v = bin_to_vec(t);
// assert_eq!(1, v[0]);
// let t = String::from("11111111");
// let v = bin_to_vec(t);
// assert_eq!(255, v[0]);
// }