make crc code cleaner
parent
6420e4a6e3
commit
7e88ab62c8
|
@ -1,11 +1,13 @@
|
|||
fn crc_accum(a: u32) -> u32
|
||||
{
|
||||
if a & 1 == 1 {0xedb88320 ^ a >> 1}
|
||||
else {a >> 1}
|
||||
}
|
||||
|
||||
fn crc_init() -> [u32; 256]
|
||||
{
|
||||
let mut t = [0; 256];
|
||||
for n in 0..256
|
||||
{
|
||||
t[n] = (0..8).fold(n as u32, |a, _|
|
||||
{if a & 1 == 1 {0xedb88320 ^ a >> 1} else {a >> 1}});
|
||||
}
|
||||
for n in 0..256 {t[n] = (0..8).fold(n as u32, |a, _| crc_accum(a))}
|
||||
t
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue