diff --git a/src/linalg/basic/matrix.rs b/src/linalg/basic/matrix.rs index 47c5e9d..4be6a2d 100644 --- a/src/linalg/basic/matrix.rs +++ b/src/linalg/basic/matrix.rs @@ -91,7 +91,7 @@ impl<'a, T: Debug + Display + Copy + Sized> DenseMatrixView<'a, T> { } } -impl<'a, T: Debug + Display + Copy + Sized> fmt::Display for DenseMatrixView<'a, T> { +impl fmt::Display for DenseMatrixView<'_, T> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { writeln!( f, @@ -169,7 +169,7 @@ impl<'a, T: Debug + Display + Copy + Sized> DenseMatrixMutView<'a, T> { } } -impl<'a, T: Debug + Display + Copy + Sized> fmt::Display for DenseMatrixMutView<'a, T> { +impl fmt::Display for DenseMatrixMutView<'_, T> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { writeln!( f, @@ -493,7 +493,7 @@ impl EVDDecomposable for DenseMatrix {} impl LUDecomposable for DenseMatrix {} impl SVDDecomposable for DenseMatrix {} -impl<'a, T: Debug + Display + Copy + Sized> Array for DenseMatrixView<'a, T> { +impl Array for DenseMatrixView<'_, T> { fn get(&self, pos: (usize, usize)) -> &T { if self.column_major { &self.values[pos.0 + pos.1 * self.stride] @@ -515,7 +515,7 @@ impl<'a, T: Debug + Display + Copy + Sized> Array for DenseMa } } -impl<'a, T: Debug + Display + Copy + Sized> Array for DenseMatrixView<'a, T> { +impl Array for DenseMatrixView<'_, T> { fn get(&self, i: usize) -> &T { if self.nrows == 1 { if self.column_major { @@ -553,11 +553,11 @@ impl<'a, T: Debug + Display + Copy + Sized> Array for DenseMatrixView< } } -impl<'a, T: Debug + Display + Copy + Sized> ArrayView2 for DenseMatrixView<'a, T> {} +impl ArrayView2 for DenseMatrixView<'_, T> {} -impl<'a, T: Debug + Display + Copy + Sized> ArrayView1 for DenseMatrixView<'a, T> {} +impl ArrayView1 for DenseMatrixView<'_, T> {} -impl<'a, T: Debug + Display + Copy + Sized> Array for DenseMatrixMutView<'a, T> { +impl Array for DenseMatrixMutView<'_, T> { fn get(&self, pos: (usize, usize)) -> &T { if self.column_major { &self.values[pos.0 + pos.1 * self.stride] @@ -579,8 +579,8 @@ impl<'a, T: Debug + Display + Copy + Sized> Array for DenseMa } } -impl<'a, T: Debug + Display + Copy + Sized> MutArray - for DenseMatrixMutView<'a, T> +impl MutArray + for DenseMatrixMutView<'_, T> { fn set(&mut self, pos: (usize, usize), x: T) { if self.column_major { @@ -595,9 +595,9 @@ impl<'a, T: Debug + Display + Copy + Sized> MutArray } } -impl<'a, T: Debug + Display + Copy + Sized> MutArrayView2 for DenseMatrixMutView<'a, T> {} +impl MutArrayView2 for DenseMatrixMutView<'_, T> {} -impl<'a, T: Debug + Display + Copy + Sized> ArrayView2 for DenseMatrixMutView<'a, T> {} +impl ArrayView2 for DenseMatrixMutView<'_, T> {} impl MatrixStats for DenseMatrix {} diff --git a/src/linalg/basic/vector.rs b/src/linalg/basic/vector.rs index 05c0375..d2e0bae 100644 --- a/src/linalg/basic/vector.rs +++ b/src/linalg/basic/vector.rs @@ -119,7 +119,7 @@ impl Array1 for Vec { } } -impl<'a, T: Debug + Display + Copy + Sized> Array for VecMutView<'a, T> { +impl Array for VecMutView<'_, T> { fn get(&self, i: usize) -> &T { &self.ptr[i] } @@ -138,7 +138,7 @@ impl<'a, T: Debug + Display + Copy + Sized> Array for VecMutView<'a, T } } -impl<'a, T: Debug + Display + Copy + Sized> MutArray for VecMutView<'a, T> { +impl MutArray for VecMutView<'_, T> { fn set(&mut self, i: usize, x: T) { self.ptr[i] = x; } @@ -149,10 +149,10 @@ impl<'a, T: Debug + Display + Copy + Sized> MutArray for VecMutView<'a } } -impl<'a, T: Debug + Display + Copy + Sized> ArrayView1 for VecMutView<'a, T> {} -impl<'a, T: Debug + Display + Copy + Sized> MutArrayView1 for VecMutView<'a, T> {} +impl ArrayView1 for VecMutView<'_, T> {} +impl MutArrayView1 for VecMutView<'_, T> {} -impl<'a, T: Debug + Display + Copy + Sized> Array for VecView<'a, T> { +impl Array for VecView<'_, T> { fn get(&self, i: usize) -> &T { &self.ptr[i] } @@ -171,7 +171,7 @@ impl<'a, T: Debug + Display + Copy + Sized> Array for VecView<'a, T> { } } -impl<'a, T: Debug + Display + Copy + Sized> ArrayView1 for VecView<'a, T> {} +impl ArrayView1 for VecView<'_, T> {} #[cfg(test)] mod tests { diff --git a/src/linalg/ndarray/matrix.rs b/src/linalg/ndarray/matrix.rs index adc8d7e..e406a19 100644 --- a/src/linalg/ndarray/matrix.rs +++ b/src/linalg/ndarray/matrix.rs @@ -68,7 +68,7 @@ impl ArrayView2 for ArrayBase impl MutArrayView2 for ArrayBase, Ix2> {} -impl<'a, T: Debug + Display + Copy + Sized> BaseArray for ArrayView<'a, T, Ix2> { +impl BaseArray for ArrayView<'_, T, Ix2> { fn get(&self, pos: (usize, usize)) -> &T { &self[[pos.0, pos.1]] } @@ -144,10 +144,10 @@ impl EVDDecomposable for ArrayBase, Ix2> impl LUDecomposable for ArrayBase, Ix2> {} impl SVDDecomposable for ArrayBase, Ix2> {} -impl<'a, T: Debug + Display + Copy + Sized> ArrayView2 for ArrayView<'a, T, Ix2> {} +impl ArrayView2 for ArrayView<'_, T, Ix2> {} -impl<'a, T: Debug + Display + Copy + Sized> BaseArray - for ArrayViewMut<'a, T, Ix2> +impl BaseArray + for ArrayViewMut<'_, T, Ix2> { fn get(&self, pos: (usize, usize)) -> &T { &self[[pos.0, pos.1]] @@ -175,8 +175,8 @@ impl<'a, T: Debug + Display + Copy + Sized> BaseArray } } -impl<'a, T: Debug + Display + Copy + Sized> MutArray - for ArrayViewMut<'a, T, Ix2> +impl MutArray + for ArrayViewMut<'_, T, Ix2> { fn set(&mut self, pos: (usize, usize), x: T) { self[[pos.0, pos.1]] = x @@ -195,9 +195,9 @@ impl<'a, T: Debug + Display + Copy + Sized> MutArray } } -impl<'a, T: Debug + Display + Copy + Sized> MutArrayView2 for ArrayViewMut<'a, T, Ix2> {} +impl MutArrayView2 for ArrayViewMut<'_, T, Ix2> {} -impl<'a, T: Debug + Display + Copy + Sized> ArrayView2 for ArrayViewMut<'a, T, Ix2> {} +impl ArrayView2 for ArrayViewMut<'_, T, Ix2> {} #[cfg(test)] mod tests { diff --git a/src/linalg/ndarray/vector.rs b/src/linalg/ndarray/vector.rs index 7105da8..de3f7d9 100644 --- a/src/linalg/ndarray/vector.rs +++ b/src/linalg/ndarray/vector.rs @@ -41,7 +41,7 @@ impl ArrayView1 for ArrayBase impl MutArrayView1 for ArrayBase, Ix1> {} -impl<'a, T: Debug + Display + Copy + Sized> BaseArray for ArrayView<'a, T, Ix1> { +impl BaseArray for ArrayView<'_, T, Ix1> { fn get(&self, i: usize) -> &T { &self[i] } @@ -60,9 +60,9 @@ impl<'a, T: Debug + Display + Copy + Sized> BaseArray for ArrayView<'a } } -impl<'a, T: Debug + Display + Copy + Sized> ArrayView1 for ArrayView<'a, T, Ix1> {} +impl ArrayView1 for ArrayView<'_, T, Ix1> {} -impl<'a, T: Debug + Display + Copy + Sized> BaseArray for ArrayViewMut<'a, T, Ix1> { +impl BaseArray for ArrayViewMut<'_, T, Ix1> { fn get(&self, i: usize) -> &T { &self[i] } @@ -81,7 +81,7 @@ impl<'a, T: Debug + Display + Copy + Sized> BaseArray for ArrayViewMut } } -impl<'a, T: Debug + Display + Copy + Sized> MutArray for ArrayViewMut<'a, T, Ix1> { +impl MutArray for ArrayViewMut<'_, T, Ix1> { fn set(&mut self, i: usize, x: T) { self[i] = x; } @@ -92,8 +92,8 @@ impl<'a, T: Debug + Display + Copy + Sized> MutArray for ArrayViewMut< } } -impl<'a, T: Debug + Display + Copy + Sized> ArrayView1 for ArrayViewMut<'a, T, Ix1> {} -impl<'a, T: Debug + Display + Copy + Sized> MutArrayView1 for ArrayViewMut<'a, T, Ix1> {} +impl ArrayView1 for ArrayViewMut<'_, T, Ix1> {} +impl MutArrayView1 for ArrayViewMut<'_, T, Ix1> {} impl Array1 for ArrayBase, Ix1> { fn slice<'a>(&'a self, range: Range) -> Box + 'a> { diff --git a/src/linear/logistic_regression.rs b/src/linear/logistic_regression.rs index 7e93428..c28dc34 100644 --- a/src/linear/logistic_regression.rs +++ b/src/linear/logistic_regression.rs @@ -258,8 +258,8 @@ impl, Y: } } -impl<'a, T: Number + FloatNumber, X: Array2> ObjectiveFunction - for BinaryObjectiveFunction<'a, T, X> +impl> ObjectiveFunction + for BinaryObjectiveFunction<'_, T, X> { fn f(&self, w_bias: &[T]) -> T { let mut f = T::zero(); @@ -313,8 +313,8 @@ struct MultiClassObjectiveFunction<'a, T: Number + FloatNumber, X: Array2> { _phantom_t: PhantomData, } -impl<'a, T: Number + FloatNumber + RealNumber, X: Array2> ObjectiveFunction - for MultiClassObjectiveFunction<'a, T, X> +impl> ObjectiveFunction + for MultiClassObjectiveFunction<'_, T, X> { fn f(&self, w_bias: &[T]) -> T { let mut f = T::zero(); diff --git a/src/naive_bayes/mod.rs b/src/naive_bayes/mod.rs index 31cdd46..26d9154 100644 --- a/src/naive_bayes/mod.rs +++ b/src/naive_bayes/mod.rs @@ -147,7 +147,7 @@ mod tests { #[derive(Debug, PartialEq, Clone)] struct TestDistribution<'d>(&'d Vec); - impl<'d> NBDistribution for TestDistribution<'d> { + impl NBDistribution for TestDistribution<'_> { fn prior(&self, _class_index: usize) -> f64 { 1. } diff --git a/src/preprocessing/numerical.rs b/src/preprocessing/numerical.rs index ddb74a4..8593d9f 100644 --- a/src/preprocessing/numerical.rs +++ b/src/preprocessing/numerical.rs @@ -172,18 +172,12 @@ where T: Number + RealNumber, M: Array2, { - if let Some(output_matrix) = columns.first().cloned() { - return Some( - columns + columns.first().cloned().map(|output_matrix| columns .iter() .skip(1) .fold(output_matrix, |current_matrix, new_colum| { current_matrix.h_stack(new_colum) - }), - ); - } else { - None - } + })) } #[cfg(test)] diff --git a/src/readers/csv.rs b/src/readers/csv.rs index f8a03eb..e9a8843 100644 --- a/src/readers/csv.rs +++ b/src/readers/csv.rs @@ -30,7 +30,7 @@ pub struct CSVDefinition<'a> { /// What seperates the fields in your csv-file? field_seperator: &'a str, } -impl<'a> Default for CSVDefinition<'a> { +impl Default for CSVDefinition<'_> { fn default() -> Self { Self { n_rows_header: 1, diff --git a/src/svm/svc.rs b/src/svm/svc.rs index 6477778..67ffdc3 100644 --- a/src/svm/svc.rs +++ b/src/svm/svc.rs @@ -360,8 +360,8 @@ impl<'a, TX: Number + RealNumber, TY: Number + Ord, X: Array2 + 'a, Y: Array } } -impl<'a, TX: Number + RealNumber, TY: Number + Ord, X: Array2, Y: Array1> PartialEq - for SVC<'a, TX, TY, X, Y> +impl, Y: Array1> PartialEq + for SVC<'_, TX, TY, X, Y> { fn eq(&self, other: &Self) -> bool { if (self.b.unwrap().sub(other.b.unwrap())).abs() > TX::epsilon() * TX::two() diff --git a/src/svm/svr.rs b/src/svm/svr.rs index e68ebf8..85b48e4 100644 --- a/src/svm/svr.rs +++ b/src/svm/svr.rs @@ -281,8 +281,8 @@ impl<'a, T: Number + FloatNumber + PartialOrd, X: Array2, Y: Array1> SVR<' } } -impl<'a, T: Number + FloatNumber + PartialOrd, X: Array2, Y: Array1> PartialEq - for SVR<'a, T, X, Y> +impl, Y: Array1> PartialEq + for SVR<'_, T, X, Y> { fn eq(&self, other: &Self) -> bool { if (self.b - other.b).abs() > T::epsilon() * T::two()