numext_fixed_hash_core/
lib.rs1extern crate constructor;
18
19use thiserror::Error;
20
21#[macro_use]
22mod tools;
23
24constructor::construct_fixed_hashes!(
25 H128 {
26 size = 128,
27 },
28 H160 {
29 size = 160,
30 },
31 H224 {
32 size = 224,
33 },
34 H256 {
35 size = 256,
36 },
37 H384 {
38 size = 384,
39 },
40 H512 {
41 size = 512,
42 },
43 H520 {
44 size = 520,
45 },
46 H1024 {
47 size = 1024,
48 },
49 H2048 {
50 size = 2048,
51 },
52 H4096 {
53 size = 4096,
54 },
55);
56
57#[cfg(feature = "bits_128")]
58convert_between!(U128, H128, 16);
59#[cfg(feature = "bits_160")]
60convert_between!(U160, H160, 20);
61#[cfg(feature = "bits_224")]
62convert_between!(U224, H224, 28);
63#[cfg(feature = "bits_256")]
64convert_between!(U256, H256, 32);
65#[cfg(feature = "bits_384")]
66convert_between!(U384, H384, 48);
67#[cfg(feature = "bits_512")]
68convert_between!(U512, H512, 64);
69#[cfg(feature = "bits_520")]
70convert_between!(U520, H520, 65);
71#[cfg(feature = "bits_1024")]
72convert_between!(U1024, H1024, 128);
73#[cfg(feature = "bits_2048")]
74convert_between!(U2048, H2048, 256);
75#[cfg(feature = "bits_4096")]
76convert_between!(U4096, H4096, 512);