@@ -38,6 +38,12 @@ pub struct KeccakPermutationState {
3838 pub capacity : usize ,
3939}
4040
41+ impl Default for KeccakPermutationState {
42+ fn default ( ) -> Self {
43+ Self :: new ( )
44+ }
45+ }
46+
4147impl KeccakPermutationState {
4248 pub fn new ( ) -> Self {
4349 KeccakPermutationState {
@@ -49,9 +55,9 @@ impl KeccakPermutationState {
4955
5056 fn _bytes_to_keccak_state ( & self ) -> [ [ u64 ; 5 ] ; 5 ] {
5157 let mut flat: [ u64 ; 25 ] = [ 0u64 ; 25 ] ;
52- for i in 0 .. 25 {
58+ for ( i , item ) in flat . iter_mut ( ) . enumerate ( ) {
5359 let start = i * 8 ;
54- flat [ i ] = u64:: from_le_bytes ( self . state [ start..start + 8 ] . try_into ( ) . unwrap ( ) ) ;
60+ * item = u64:: from_le_bytes ( self . state [ start..start + 8 ] . try_into ( ) . unwrap ( ) ) ;
5561 }
5662 let mut matrix = [ [ 0u64 ; 5 ] ; 5 ] ;
5763 for y in 0 ..5 {
@@ -69,25 +75,25 @@ impl KeccakPermutationState {
6975 flat[ 5 * y + x] = state[ x] [ y] ;
7076 }
7177 }
72- for i in 0 .. 25 {
73- let bytes = flat [ i ] . to_le_bytes ( ) ;
78+ for ( i , item ) in flat . iter ( ) . enumerate ( ) {
79+ let bytes = item . to_le_bytes ( ) ;
7480 let start = i * 8 ;
7581 self . state [ start..start + 8 ] . copy_from_slice ( & bytes) ;
7682 }
7783 }
7884
7985 fn bytes_to_flat_state ( & self ) -> [ u64 ; 25 ] {
8086 let mut flat = [ 0u64 ; 25 ] ;
81- for i in 0 .. 25 {
87+ for ( i , item ) in flat . iter_mut ( ) . enumerate ( ) {
8288 let start = i * 8 ;
83- flat [ i ] = u64:: from_le_bytes ( self . state [ start..start + 8 ] . try_into ( ) . unwrap ( ) ) ;
89+ * item = u64:: from_le_bytes ( self . state [ start..start + 8 ] . try_into ( ) . unwrap ( ) ) ;
8490 }
8591 flat
8692 }
8793
8894 fn flat_state_to_bytes ( & mut self , flat : [ u64 ; 25 ] ) {
89- for i in 0 .. 25 {
90- let bytes = flat [ i ] . to_le_bytes ( ) ;
95+ for ( i , item ) in flat . iter ( ) . enumerate ( ) {
96+ let bytes = item . to_le_bytes ( ) ;
9197 let start = i * 8 ;
9298 self . state [ start..start + 8 ] . copy_from_slice ( & bytes) ;
9399 }
0 commit comments