/rust/registry/src/index.crates.io-1949cf8c6b5b557f/crc-1.8.1/src/util.rs
Line | Count | Source |
1 | 0 | pub fn make_table_crc16(poly: u16) -> [u16; 256] { |
2 | 0 | let mut table = [0u16; 256]; |
3 | 0 | for i in 0..256 { |
4 | 0 | let mut value = i as u16; |
5 | 0 | for _ in 0..8 { |
6 | 0 | value = if (value & 1) == 1 { |
7 | 0 | (value >> 1) ^ poly |
8 | | } else { |
9 | 0 | value >> 1 |
10 | | } |
11 | | } |
12 | 0 | table[i] = value; |
13 | | } |
14 | 0 | table |
15 | 0 | } |
16 | | |
17 | 0 | pub fn make_table_crc32(poly: u32) -> [u32; 256] { |
18 | 0 | let mut table = [0u32; 256]; |
19 | 0 | for i in 0..256 { |
20 | 0 | let mut value = i as u32; |
21 | 0 | for _ in 0..8 { |
22 | 0 | value = if (value & 1) == 1 { |
23 | 0 | (value >> 1) ^ poly |
24 | | } else { |
25 | 0 | value >> 1 |
26 | | } |
27 | | } |
28 | 0 | table[i] = value; |
29 | | } |
30 | 0 | table |
31 | 0 | } |
32 | | |
33 | 0 | pub fn make_table_crc64(poly: u64) -> [u64; 256] { |
34 | 0 | let mut table = [0u64; 256]; |
35 | 0 | for i in 0..256 { |
36 | 0 | let mut value = i as u64; |
37 | 0 | for _ in 0..8 { |
38 | 0 | value = if (value & 1) == 1 { |
39 | 0 | (value >> 1) ^ poly |
40 | | } else { |
41 | 0 | value >> 1 |
42 | | } |
43 | | } |
44 | 0 | table[i] = value; |
45 | | } |
46 | 0 | table |
47 | 0 | } |