@@ -51,22 +51,30 @@ pub fn rotate(vector: &[f32]) -> Vec<f32> {
5151 simd:: rotate:: flip ( & BITS_0 , & mut result) ;
5252 simd:: fht:: fht ( & mut result[ l] ) ;
5353 f32:: vector_mul_scalar_inplace ( & mut result[ l] , scale) ;
54- kacs_walk ( & mut result) ;
54+ if n != ( 1_usize << base) {
55+ kacs_walk ( & mut result) ;
56+ }
5557
5658 simd:: rotate:: flip ( & BITS_1 , & mut result) ;
5759 simd:: fht:: fht ( & mut result[ r] ) ;
5860 f32:: vector_mul_scalar_inplace ( & mut result[ r] , scale) ;
59- kacs_walk ( & mut result) ;
61+ if n != ( 1_usize << base) {
62+ kacs_walk ( & mut result) ;
63+ }
6064
6165 simd:: rotate:: flip ( & BITS_2 , & mut result) ;
6266 simd:: fht:: fht ( & mut result[ l] ) ;
6367 f32:: vector_mul_scalar_inplace ( & mut result[ l] , scale) ;
64- kacs_walk ( & mut result) ;
68+ if n != ( 1_usize << base) {
69+ kacs_walk ( & mut result) ;
70+ }
6571
6672 simd:: rotate:: flip ( & BITS_3 , & mut result) ;
6773 simd:: fht:: fht ( & mut result[ r] ) ;
6874 f32:: vector_mul_scalar_inplace ( & mut result[ r] , scale) ;
69- kacs_walk ( & mut result) ;
75+ if n != ( 1_usize << base) {
76+ kacs_walk ( & mut result) ;
77+ }
7078
7179 result
7280}
0 commit comments