8000 FIX: Use .visit() for array traversal in var · rust-ndarray/ndarray@225d967 · GitHub
[go: up one dir, main page]

Skip to content

Commit 225d967

Browse files
committed
FIX: Use .visit() for array traversal in var
Using iterators for multidimensional arrays is discouraged, prefer using higher-order methods (mentioned in the module documentation's main page).
1 parent d27b1a9 commit 225d967

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/numeric/impl_numeric.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ use crate::imp_prelude::*;
1515
use crate::itertools::enumerate;
1616
use crate::numeric_util;
1717

18-
use crate::{FoldWhile, Zip};
19-
2018
/// # Numerical Methods for Arrays
2119
impl<A, S, D> ArrayBase<S, D>
2220
where
@@ -169,12 +167,14 @@ where
169167
let dof = n - ddof;
170168
let mut mean = A::zero();
171169
let mut sum_sq = A::zero();
172-
for (i, &x) in self.into_iter().enumerate() {
170+
let mut i = 0;
171+
self.visit(|&x| {
173172
let count = A::from_usize(i + 1).expect("Converting index to `A` must not fail.");
174173
let delta = x - mean;
175174
mean = mean + delta / count;
176175
sum_sq = (x - mean).mul_add(delta, sum_sq);
177-
}
176+
i += 1;
177+
});
178178
sum_sq / dof
179179
}
180180

0 commit comments

Comments
 (0)
0