use crate ::{Adler32, Adler32Hash};
impl Adler32Hash for &[u8] {
fn hash(&self ) -> u32 {
let mut hash = Adler32::new();
hash.write(self );
hash.finish()
}
}
impl Adler32Hash for &str {
fn hash(&self ) -> u32 {
let mut hash = Adler32::new();
hash.write(self .as_bytes());
hash.finish()
}
}
#[ cfg(feature = "const-generics" )]
impl <const SIZE: usize> Adler32Hash for [u8; SIZE] {
fn hash(&self ) -> u32 {
let mut hash = Adler32::new();
hash.write(self );
hash.finish()
}
}
macro_rules! array_impl {
($s:expr, $($size:expr),+) => {
array_impl!($s);
$(array_impl!{$size})*
};
($size:expr) => {
#[ cfg(not(feature = "const-generics" ))]
impl Adler32Hash for [u8; $size] {
fn hash(&self ) -> u32 {
let mut hash = Adler32::new();
hash.write(self );
hash.finish()
}
}
};
}
array_impl!(
0 ,
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 ,
99 ,
100 ,
1024 ,
1024 * 1024 ,
1024 * 1024 * 1024 ,
2048 ,
4096
);
Messung V0.5 in Prozent C=82 H=97 G=89
¤ Dauer der Verarbeitung: 0.6 Sekunden
¤
*© Formatika GbR, Deutschland