@@ -19,47 +19,36 @@ macro_rules! convert {
1919 } ;
2020}
2121
22- convert ! ( [ u128 ; 4 ] , [ u64 ; 8 ] ) ;
23- convert ! ( [ u128 ; 4 ] , [ u32 ; 16 ] ) ;
24- convert ! ( [ u128 ; 4 ] , [ u16 ; 32 ] ) ;
22+ macro_rules! convert_primitive_bytes {
23+ ( $a: ty, $b: ty) => {
24+ impl Convert <$b> for $a {
25+ #[ inline( always) ]
26+ fn convert( self ) -> $b {
27+ self . to_ne_bytes( )
28+ }
29+ }
30+ impl Convert <$a> for $b {
31+ #[ inline( always) ]
32+ fn convert( self ) -> $a {
33+ <$a>:: from_ne_bytes( self )
34+ }
35+ }
36+ } ;
37+ }
38+
2539convert ! ( [ u128 ; 4 ] , [ u8 ; 64 ] ) ;
2640convert ! ( [ u128 ; 2 ] , [ u64 ; 4 ] ) ;
27- convert ! ( [ u128 ; 2 ] , [ u32 ; 8 ] ) ;
28- convert ! ( [ u128 ; 2 ] , [ u16 ; 16 ] ) ;
2941convert ! ( [ u128 ; 2 ] , [ u8 ; 32 ] ) ;
3042convert ! ( u128 , [ u64 ; 2 ] ) ;
31- convert ! ( u128 , [ u32 ; 4 ] ) ;
32- convert ! ( u128 , [ u16 ; 8 ] ) ;
33- convert ! ( u128 , [ u8 ; 16 ] ) ;
34- convert ! ( [ u64 ; 8 ] , [ u32 ; 16 ] ) ;
35- convert ! ( [ u64 ; 8 ] , [ u16 ; 32 ] ) ;
36- convert ! ( [ u64 ; 8 ] , [ u8 ; 64 ] ) ;
37- convert ! ( [ u64 ; 4 ] , [ u32 ; 8 ] ) ;
38- convert ! ( [ u64 ; 4 ] , [ u16 ; 16 ] ) ;
39- convert ! ( [ u64 ; 4 ] , [ u8 ; 32 ] ) ;
43+ convert_primitive_bytes ! ( u128 , [ u8 ; 16 ] ) ;
4044convert ! ( [ u64 ; 2 ] , [ u32 ; 4 ] ) ;
41- convert ! ( [ u64 ; 2 ] , [ u16 ; 8 ] ) ;
45+ # [ cfg ( test ) ]
4246convert ! ( [ u64 ; 2 ] , [ u8 ; 16 ] ) ;
43- convert ! ( [ u32 ; 4 ] , [ u16 ; 8 ] ) ;
44- convert ! ( [ u32 ; 4 ] , [ u8 ; 16 ] ) ;
45- convert ! ( [ u16 ; 8 ] , [ u8 ; 16 ] ) ;
46- convert ! ( u64 , [ u32 ; 2 ] ) ;
47- convert ! ( u64 , [ u16 ; 4 ] ) ;
48- convert ! ( u64 , [ u8 ; 8 ] ) ;
49- convert ! ( [ u32 ; 2 ] , [ u16 ; 4 ] ) ;
50- convert ! ( [ u32 ; 2 ] , [ u8 ; 8 ] ) ;
51- convert ! ( u32 , [ u16 ; 2 ] ) ;
52- convert ! ( u32 , [ u8 ; 4 ] ) ;
53- convert ! ( [ u16 ; 2 ] , [ u8 ; 4 ] ) ;
54- convert ! ( u16 , [ u8 ; 2 ] ) ;
47+ convert_primitive_bytes ! ( u64 , [ u8 ; 8 ] ) ;
48+ convert_primitive_bytes ! ( u32 , [ u8 ; 4 ] ) ;
49+ convert_primitive_bytes ! ( u16 , [ u8 ; 2 ] ) ;
5550convert ! ( [ [ u64 ; 4 ] ; 2 ] , [ u8 ; 64 ] ) ;
5651
57- convert ! ( [ f64 ; 2 ] , [ u8 ; 16 ] ) ;
58- convert ! ( [ f32 ; 4 ] , [ u8 ; 16 ] ) ;
59- convert ! ( f64 , [ u8 ; 8 ] ) ;
60- convert ! ( [ f32 ; 2 ] , [ u8 ; 8 ] ) ;
61- convert ! ( f32 , [ u8 ; 4 ] ) ;
62-
6352macro_rules! as_array {
6453 ( $input: expr, $len: expr) => { {
6554 {
0 commit comments