@@ -206,8 +206,8 @@ impl SvdBasis {
206206 for i in 0 ..self . n_components {
207207 let start = i * self . original_cols ;
208208 let mut dot = 0.0f64 ;
209- for j in 0 .. self . original_cols . min ( row. len ( ) ) {
210- dot += row [ j ] as f64 * bf16_to_f32 ( self . basis_bf16 [ start + j] ) as f64 ;
209+ for ( j , & rv ) in row . iter ( ) . enumerate ( ) . take ( self . original_cols . min ( row. len ( ) ) ) {
210+ dot += rv as f64 * bf16_to_f32 ( self . basis_bf16 [ start + j] ) as f64 ;
211211 }
212212 coeffs. push ( dot as f32 ) ;
213213 }
@@ -217,11 +217,10 @@ impl SvdBasis {
217217 /// Reconstruct a row from coefficients: coefficients[n_components] → row[cols].
218218 pub fn reconstruct ( & self , coeffs : & [ f32 ] ) -> Vec < f32 > {
219219 let mut row = vec ! [ 0.0f32 ; self . original_cols] ;
220- for i in 0 .. self . n_components . min ( coeffs. len ( ) ) {
220+ for ( i , & c ) in coeffs . iter ( ) . enumerate ( ) . take ( self . n_components . min ( coeffs. len ( ) ) ) {
221221 let start = i * self . original_cols ;
222- let c = coeffs[ i] ;
223- for j in 0 ..self . original_cols {
224- row[ j] += c * bf16_to_f32 ( self . basis_bf16 [ start + j] ) ;
222+ for ( j, rv) in row. iter_mut ( ) . enumerate ( ) {
223+ * rv += c * bf16_to_f32 ( self . basis_bf16 [ start + j] ) ;
225224 }
226225 }
227226 row
@@ -261,10 +260,10 @@ impl SvdBasis {
261260 for comp in 0 ..d {
262261 // Initialize v randomly (deterministic seed)
263262 let mut v = vec ! [ 0.0f64 ; cols] ;
264- for j in 0 ..cols {
263+ for ( j , vj ) in v . iter_mut ( ) . enumerate ( ) {
265264 // Simple hash-based initialization
266265 let seed = ( comp * 7919 + j * 104729 + 31 ) as f64 ;
267- v [ j ] = ( seed. sin ( ) * 43758.5453 ) . fract ( ) - 0.5 ;
266+ * vj = ( seed. sin ( ) * 43758.5453 ) . fract ( ) - 0.5 ;
268267 }
269268 normalize_f64 ( & mut v) ;
270269
@@ -303,8 +302,8 @@ impl SvdBasis {
303302 }
304303
305304 // Store basis vector
306- for j in 0 ..cols {
307- basis_f32. push ( v [ j ] as f32 ) ;
305+ for & vj in v . iter ( ) {
306+ basis_f32. push ( vj as f32 ) ;
308307 }
309308
310309 // Deflate: remove this component from the matrix
0 commit comments