fix needless-range and clippy::ptr_arg warnings. (#36)
* Fix needless for loop range * Do not ignore clippy::ptr_arg
This commit is contained in:
@@ -85,9 +85,9 @@ pub trait BiconjugateGradientSolver<T: RealNumber, M: Matrix<T>> {
|
||||
let diag = Self::diag(a);
|
||||
let n = diag.len();
|
||||
|
||||
for i in 0..n {
|
||||
if diag[i] != T::zero() {
|
||||
x.set(i, 0, b.get(i, 0) / diag[i]);
|
||||
for (i, diag_i) in diag.iter().enumerate().take(n) {
|
||||
if *diag_i != T::zero() {
|
||||
x.set(i, 0, b.get(i, 0) / *diag_i);
|
||||
} else {
|
||||
x.set(i, 0, b.get(i, 0));
|
||||
}
|
||||
|
||||
+6
-6
@@ -120,14 +120,14 @@ impl<T: RealNumber, M: Matrix<T>> Lasso<T, M> {
|
||||
|
||||
let mut w = optimizer.optimize(&scaled_x, y, ¶meters)?;
|
||||
|
||||
for j in 0..p {
|
||||
w.set(j, 0, w.get(j, 0) / col_std[j]);
|
||||
for (j, col_std_j) in col_std.iter().enumerate().take(p) {
|
||||
w.set(j, 0, w.get(j, 0) / *col_std_j);
|
||||
}
|
||||
|
||||
let mut b = T::zero();
|
||||
|
||||
for i in 0..p {
|
||||
b += w.get(i, 0) * col_mean[i];
|
||||
for (i, col_mean_i) in col_mean.iter().enumerate().take(p) {
|
||||
b += w.get(i, 0) * *col_mean_i;
|
||||
}
|
||||
|
||||
b = y.mean() - b;
|
||||
@@ -169,8 +169,8 @@ impl<T: RealNumber, M: Matrix<T>> Lasso<T, M> {
|
||||
let col_mean = x.mean(0);
|
||||
let col_std = x.std(0);
|
||||
|
||||
for i in 0..col_std.len() {
|
||||
if (col_std[i] - T::zero()).abs() < T::epsilon() {
|
||||
for (i, col_std_i) in col_std.iter().enumerate() {
|
||||
if (*col_std_i - T::zero()).abs() < T::epsilon() {
|
||||
return Err(Failed::fit(&format!(
|
||||
"Cannot rescale constant column {}",
|
||||
i
|
||||
|
||||
@@ -228,9 +228,9 @@ impl<T: RealNumber, M: Matrix<T>> LogisticRegression<T, M> {
|
||||
|
||||
let mut yi: Vec<usize> = vec![0; y_nrows];
|
||||
|
||||
for i in 0..y_nrows {
|
||||
for (i, yi_i) in yi.iter_mut().enumerate().take(y_nrows) {
|
||||
let yc = y_m.get(0, i);
|
||||
yi[i] = classes.iter().position(|c| yc == *c).unwrap();
|
||||
*yi_i = classes.iter().position(|c| yc == *c).unwrap();
|
||||
}
|
||||
|
||||
match k.cmp(&2) {
|
||||
@@ -291,11 +291,11 @@ impl<T: RealNumber, M: Matrix<T>> LogisticRegression<T, M> {
|
||||
if self.num_classes == 2 {
|
||||
let y_hat: Vec<T> = x.ab(false, &self.coefficients, true).get_col_as_vec(0);
|
||||
let intercept = self.intercept.get(0, 0);
|
||||
for i in 0..n {
|
||||
for (i, y_hat_i) in y_hat.iter().enumerate().take(n) {
|
||||
result.set(
|
||||
0,
|
||||
i,
|
||||
self.classes[if (y_hat[i] + intercept).sigmoid() > T::half() {
|
||||
self.classes[if (*y_hat_i + intercept).sigmoid() > T::half() {
|
||||
1
|
||||
} else {
|
||||
0
|
||||
@@ -310,8 +310,8 @@ impl<T: RealNumber, M: Matrix<T>> LogisticRegression<T, M> {
|
||||
}
|
||||
}
|
||||
let class_idxs = y_hat.argmax();
|
||||
for i in 0..n {
|
||||
result.set(0, i, self.classes[class_idxs[i]]);
|
||||
for (i, class_i) in class_idxs.iter().enumerate().take(n) {
|
||||
result.set(0, i, self.classes[*class_i]);
|
||||
}
|
||||
}
|
||||
Ok(result.to_row_vector())
|
||||
|
||||
@@ -155,14 +155,14 @@ impl<T: RealNumber, M: Matrix<T>> RidgeRegression<T, M> {
|
||||
RidgeRegressionSolverName::SVD => x_t_x.svd_solve_mut(x_t_y)?,
|
||||
};
|
||||
|
||||
for i in 0..p {
|
||||
w.set(i, 0, w.get(i, 0) / col_std[i]);
|
||||
for (i, col_std_i) in col_std.iter().enumerate().take(p) {
|
||||
w.set(i, 0, w.get(i, 0) / *col_std_i);
|
||||
}
|
||||
|
||||
let mut b = T::zero();
|
||||
|
||||
for i in 0..p {
|
||||
b += w.get(i, 0) * col_mean[i];
|
||||
for (i, col_mean_i) in col_mean.iter().enumerate().take(p) {
|
||||
b += w.get(i, 0) * *col_mean_i;
|
||||
}
|
||||
|
||||
let b = y.mean() - b;
|
||||
@@ -196,8 +196,8 @@ impl<T: RealNumber, M: Matrix<T>> RidgeRegression<T, M> {
|
||||
let col_mean = x.mean(0);
|
||||
let col_std = x.std(0);
|
||||
|
||||
for i in 0..col_std.len() {
|
||||
if (col_std[i] - T::zero()).abs() < T::epsilon() {
|
||||
for (i, col_std_i) in col_std.iter().enumerate() {
|
||||
if (*col_std_i - T::zero()).abs() < T::epsilon() {
|
||||
return Err(Failed::fit(&format!(
|
||||
"Cannot rescale constant column {}",
|
||||
i
|
||||
|
||||
Reference in New Issue
Block a user