From a7cb6edbf3520fd9b64eca737f22c77b84a3b867 Mon Sep 17 00:00:00 2001 From: Anders Olsson Date: Tue, 8 Sep 2020 15:32:29 +0200 Subject: [PATCH] Fix clippy warnings. --- Cargo.toml | 5 ++--- examples/abcdef.rs | 2 +- examples/kickscore-basics.rs | 2 +- examples/nba-history.rs | 2 +- src/condest.rs | 6 +++--- src/expm.rs | 8 ++++---- src/fitter/recursive.rs | 12 ++++++------ src/model/binary.rs | 2 +- src/model/difference.rs | 2 +- src/model/ternary.rs | 2 +- src/storage.rs | 16 +++++++++------- 11 files changed, 30 insertions(+), 29 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 3923155..3e4073d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -14,9 +14,8 @@ ndarray-linalg = { version = "0.12" } ordered-float = "1.0" rand = "0.7" rand_xoshiro = "0.4" -statrs = "0.12" +statrs = "0.13" [dev-dependencies] -# openblas-src = { version = "0.8", features = ["static"] } -intel-mkl-src = "0.5" +openblas-src = { version = "0.10", features = ["system"] } time = "0.2" diff --git a/examples/abcdef.rs b/examples/abcdef.rs index cce7778..99a97b8 100644 --- a/examples/abcdef.rs +++ b/examples/abcdef.rs @@ -1,4 +1,4 @@ -extern crate intel_mkl_src; +extern crate openblas_src; use kickscore as ks; diff --git a/examples/kickscore-basics.rs b/examples/kickscore-basics.rs index 32c84dd..f452799 100644 --- a/examples/kickscore-basics.rs +++ b/examples/kickscore-basics.rs @@ -1,4 +1,4 @@ -extern crate intel_mkl_src; +extern crate openblas_src; use kickscore as ks; diff --git a/examples/nba-history.rs b/examples/nba-history.rs index 9d520f5..8dd9fb0 100644 --- a/examples/nba-history.rs +++ b/examples/nba-history.rs @@ -1,4 +1,4 @@ -extern crate intel_mkl_src; +extern crate openblas_src; use std::collections::HashSet; use std::fs; diff --git a/src/condest.rs b/src/condest.rs index 4c541d2..1cf8dca 100644 --- a/src/condest.rs +++ b/src/condest.rs @@ -140,7 +140,7 @@ where ) where S2: DataMut, { - if self.len() > 0 { + if !self.is_empty() { let mut reversed; let mut forward; @@ -850,7 +850,7 @@ where find_parallel_columns_in(a, c, column_is_parallel); find_parallel_columns_between(a, b, c, column_is_parallel); let mut has_resampled = false; - for (i, is_parallel) in column_is_parallel.into_iter().enumerate() { + for (i, is_parallel) in column_is_parallel.iter_mut().enumerate() { if *is_parallel { resample_column(a, i, rng, sample); has_resampled = true; @@ -871,7 +871,7 @@ where i < a.dim().1, "Trying to resample column with index exceeding matrix dimensions" ); - assert!(sample.len() > 0); + assert!(!sample.is_empty()); a.column_mut(i) .mapv_inplace(|_| sample[rng.gen_range(0, sample.len())]); } diff --git a/src/expm.rs b/src/expm.rs index c3e5266..153f70b 100644 --- a/src/expm.rs +++ b/src/expm.rs @@ -187,8 +187,8 @@ impl PadeOrder for $ty { _ => unreachable!() }; - work.zip_mut_with(a_pow, |x, &y| *x = *x + c_2k1 * y); - v.zip_mut_with(a_pow, |x, &y| *x = *x + c_2k * y); + work.zip_mut_with(a_pow, |x, &y| *x += c_2k1 * y); + v.zip_mut_with(a_pow, |x, &y| *x += c_2k * y); } let (a_slice, a_layout) = as_slice_with_layout(a).expect("Matrix `a` not contiguous."); @@ -601,7 +601,7 @@ impl Expm { use std::f64; let mut s = cmp::max(f64::ceil(f64::log2(eta_5 / THETA_13)) as i32, 0); self.a1.mapv_inplace(|x| x / 2f64.powi(s)); - s = s + self.ell(13); + s += self.ell(13); self.a1.zip_mut_with(a, |x, &y| *x = y / 2f64.powi(s)); self.a2.mapv_inplace(|x| x / 2f64.powi(2 * s)); self.a4.mapv_inplace(|x| x / 2f64.powi(4 * s)); @@ -693,7 +693,7 @@ impl Expm { self.work.assign(v); Zip::from(&mut *v).and(&self.u).apply(|x, &y| { - *x = *x + y; + *x += y; }); Zip::from(&mut self.u).and(&self.work).apply(|x, &y| { diff --git a/src/fitter/recursive.rs b/src/fitter/recursive.rs index 98f6b11..f0d7c69 100644 --- a/src/fitter/recursive.rs +++ b/src/fitter/recursive.rs @@ -146,10 +146,10 @@ impl Fitter for RecursiveFitter { let k = self.p_p[i].dot(&self.h) / (1.0 + self.xs[i] * self.h.dot(&self.p_p[i]).dot(&self.h)); - let k = Array1::from(k); + // let k = Array1::from(k); self.m_f[i] = - &self.m_p[i] + &(&k * (&self.ns[i] - &self.xs[i] * &self.h.dot(&self.m_p[i]))); + &self.m_p[i] + &(&k * (self.ns[i] - self.xs[i] * self.h.dot(&self.m_p[i]))); // Covariance matrix is computed using the Joseph form. let outer = (self.xs[i] * &k) @@ -274,7 +274,7 @@ impl Fitter for RecursiveFitter { } fn vs(&self, idx: usize) -> f64 { - *&self.vs[idx] + self.vs[idx] } fn vs_mut(&mut self, idx: usize) -> &mut f64 { @@ -282,7 +282,7 @@ impl Fitter for RecursiveFitter { } fn ms(&self, idx: usize) -> f64 { - *&self.ms[idx] + self.ms[idx] } fn ms_mut(&mut self, idx: usize) -> &mut f64 { @@ -290,7 +290,7 @@ impl Fitter for RecursiveFitter { } fn xs(&self, idx: usize) -> f64 { - *&self.xs[idx] + self.xs[idx] } fn xs_mut(&mut self, idx: usize) -> &mut f64 { @@ -298,7 +298,7 @@ impl Fitter for RecursiveFitter { } fn ns(&self, idx: usize) -> f64 { - *&self.ns[idx] + self.ns[idx] } fn ns_mut(&mut self, idx: usize) -> &mut f64 { diff --git a/src/model/binary.rs b/src/model/binary.rs index ff6ba0b..48e8502 100644 --- a/src/model/binary.rs +++ b/src/model/binary.rs @@ -28,7 +28,7 @@ pub struct BinaryModel { impl BinaryModel { pub fn new(win_obs: BinaryModelObservation) -> Self { BinaryModel { - storage: Storage::new(), + storage: Storage::default(), last_t: f64::NEG_INFINITY, win_obs, observations: Vec::new(), diff --git a/src/model/difference.rs b/src/model/difference.rs index bff9584..cadf55c 100644 --- a/src/model/difference.rs +++ b/src/model/difference.rs @@ -23,7 +23,7 @@ pub struct DifferenceModel { impl DifferenceModel { pub fn new(var: f64) -> Self { DifferenceModel { - storage: Storage::new(), + storage: Storage::default(), last_t: f64::NEG_INFINITY, observations: Vec::new(), _last_method: None, diff --git a/src/model/ternary.rs b/src/model/ternary.rs index c471485..d10003c 100644 --- a/src/model/ternary.rs +++ b/src/model/ternary.rs @@ -30,7 +30,7 @@ pub struct TernaryModel { impl TernaryModel { pub fn new(obs: TernaryModelObservation, margin: f64) -> Self { TernaryModel { - storage: Storage::new(), + storage: Storage::default(), last_t: f64::NEG_INFINITY, obs, // default = probit observations: Vec::new(), diff --git a/src/storage.rs b/src/storage.rs index 89e946b..b8bf4f8 100644 --- a/src/storage.rs +++ b/src/storage.rs @@ -8,13 +8,6 @@ pub struct Storage { } impl Storage { - pub fn new() -> Self { - Storage { - keys: HashMap::new(), - items: Vec::new(), - } - } - pub fn contains_key(&self, key: &str) -> bool { self.keys.contains_key(key) } @@ -54,3 +47,12 @@ impl Storage { self.keys.keys() } } + +impl Default for Storage { + fn default() -> Self { + Self { + keys: HashMap::new(), + items: Vec::new(), + } + } +}