1 extern crate build_const;
2 
3 include!("src/util.rs");
4 
5 #[allow(non_snake_case)]
create_constants()6 fn create_constants() {
7     let mut crc16 = build_const::ConstWriter::for_build("crc16_constants")
8         .unwrap()
9         .finish_dependencies();
10     let X25: u16 = 0x8408;
11     crc16.add_value("X25", "u16", X25);
12     crc16.add_array("X25_TABLE", "u16", &make_table_crc16(X25));
13 
14     let USB: u16 = 0xa001;
15     crc16.add_value("USB", "u16", USB);
16     crc16.add_array("USB_TABLE", "u16", &make_table_crc16(USB));
17 
18     crc16.finish();
19 
20     let mut crc32 = build_const::ConstWriter::for_build("crc32_constants")
21         .unwrap()
22         .finish_dependencies();
23     let CASTAGNOLI: u32 = 0x82f63b78;
24     crc32.add_value("CASTAGNOLI", "u32", CASTAGNOLI);
25     crc32.add_array("CASTAGNOLI_TABLE", "u32", &make_table_crc32(CASTAGNOLI));
26 
27     let IEEE: u32 = 0xedb88320;
28     crc32.add_value("IEEE", "u32", IEEE);
29     crc32.add_array("IEEE_TABLE", "u32", &make_table_crc32(IEEE));
30 
31     let KOOPMAN: u32 = 0xeb31d82e;
32     crc32.add_value("KOOPMAN", "u32", KOOPMAN);
33     crc32.add_array("KOOPMAN_TABLE", "u32", &make_table_crc32(KOOPMAN));
34 
35     crc32.finish();
36 
37     let mut crc64 = build_const::ConstWriter::for_build("crc64_constants")
38         .unwrap()
39         .finish_dependencies();
40 
41     let ECMA: u64 = 0xc96c5795d7870f42;
42     crc64.add_value("ECMA", "u64", ECMA);
43     crc64.add_array("ECMA_TABLE", "u64", &make_table_crc64(ECMA));
44 
45     let ISO: u64 = 0xd800000000000000;
46     crc64.add_value("ISO", "u64", ISO);
47     crc64.add_array("ISO_TABLE", "u64", &make_table_crc64(ISO));
48 
49     crc64.finish();
50 }
51 
main()52 fn main() {
53     create_constants();
54 }
55