# HG changeset patch # User Tuomo Valkonen # Date 1757052561 18000 # Node ID f159287bc191c0d363bb7019e95b738a08079b6f # Parent ec5a811eab09577d864355bfa60b49deabdbc2aa Simplify nalgebra trait bounds further diff -r ec5a811eab09 -r f159287bc191 src/nalgebra_support.rs --- a/src/nalgebra_support.rs Fri Sep 05 01:02:53 2025 -0500 +++ b/src/nalgebra_support.rs Fri Sep 05 01:09:21 2025 -0500 @@ -18,10 +18,10 @@ use nalgebra::base::dimension::*; use nalgebra::{ ArrayStorage, ClosedAddAssign, ClosedMulAssign, DefaultAllocator, Dim, LpNorm, Matrix, - MatrixView, OMatrix, OVector, RawStorage, RealField, Scalar, SimdComplexField, Storage, - StorageMut, UniformNorm, VecStorage, Vector, ViewStorage, ViewStorageMut, U1, + MatrixView, OMatrix, OVector, RawStorage, RealField, SimdComplexField, Storage, StorageMut, + UniformNorm, VecStorage, Vector, ViewStorage, ViewStorageMut, U1, }; -use num_traits::identities::{One, Zero}; +use num_traits::identities::Zero; use std::ops::Mul; impl Ownable for Matrix @@ -29,7 +29,7 @@ S: Storage, M: Dim, N: Dim, - E: Scalar + Zero + One, + E: Float, DefaultAllocator: Allocator, { type OwnedVariant = OMatrix; @@ -63,7 +63,7 @@ DimEq + DimEq where S: RawStorage, - E: Scalar, + E: Float, N: Dim, M: Dim, DefaultAllocator: Allocator, @@ -73,7 +73,7 @@ impl StridesOk> for ShapeConstraint where M: Dim, - E: Scalar, + E: Float, DefaultAllocator: Allocator, { } @@ -81,7 +81,7 @@ impl StridesOk, Const, ArrayStorage> for ShapeConstraint where - E: Scalar, + E: Float, { } @@ -91,16 +91,16 @@ where N: Dim, M: Dim, - E: Scalar, - DefaultAllocator: Allocator, + E: Float, + DefaultAllocator: Allocator, { } impl<'a, E, N, M, $($qual)*> StridesOk> for ShapeConstraint where N: Dim, M: Dim, - E: Scalar, - DefaultAllocator: Allocator, + E: Float, + DefaultAllocator: Allocator, { } }; @@ -116,7 +116,7 @@ SM: Storage, N: Dim, M: Dim, - E: Scalar + Zero + One + Copy, + E: Float, DefaultAllocator: Allocator, ShapeConstraint: StridesOk, { @@ -132,7 +132,7 @@ S: Storage, M: Dim, K: Dim, - E: Scalar + Zero + One + Copy, + E: Float, DefaultAllocator: Allocator, ShapeConstraint: StridesOk, { @@ -160,7 +160,7 @@ S2: Storage, M: Dim, K: Dim, - E: Scalar + Zero + One + Copy, + E: Float, DefaultAllocator: Allocator, ShapeConstraint: StridesOk + StridesOk, { @@ -205,7 +205,7 @@ S2: Storage, M: Dim, K: Dim, - E: Scalar + Zero + One + Copy, + E: Float, DefaultAllocator: Allocator, ShapeConstraint: StridesOk + StridesOk, { @@ -249,7 +249,7 @@ SM: Storage, M: Dim, K: Dim, - E: Scalar + Zero + One + Copy, + E: Float, DefaultAllocator: Allocator, ShapeConstraint: StridesOk + StridesOk, { @@ -293,7 +293,7 @@ N: Dim, M: Dim, K: Dim, - E: Scalar + Zero + One + Copy + ClosedMulAssign + ClosedAddAssign, + E: Float, DefaultAllocator: Allocator + Allocator, ShapeConstraint: StridesOk + StridesOk, { @@ -311,7 +311,7 @@ N: Dim, M: Dim, K: Dim, - E: Scalar + Zero + One + Copy + ClosedMulAssign + ClosedAddAssign, + E: Float + ClosedMulAssign + ClosedAddAssign, DefaultAllocator: Allocator + Allocator, ShapeConstraint: StridesOk + StridesOk, { @@ -324,7 +324,7 @@ N: Dim, M: Dim, K: Dim, - E: Scalar + Zero + One + Float, + E: Float, DefaultAllocator: Allocator + Allocator, ShapeConstraint: StridesOk + StridesOk, { @@ -346,7 +346,7 @@ S: Storage, M: Dim, N: Dim, - E: Scalar + Zero + One + Float, + E: Float, DefaultAllocator: Allocator, ShapeConstraint: StridesOk, { @@ -367,7 +367,7 @@ S: StorageMut, M: Dim, N: Dim, - E: Scalar + Zero + One + Float, + E: Float, DefaultAllocator: Allocator, ShapeConstraint: StridesOk, { @@ -412,7 +412,7 @@ where SM: StorageMut, M: Dim, - E: Scalar + Zero + One + Float + RealField, + E: Float + RealField, DefaultAllocator: Allocator, ShapeConstraint: StridesOk, { @@ -428,7 +428,7 @@ where SM: StorageMut, M: Dim, - E: Scalar + Zero + One + Copy + Float + RealField, + E: Float + RealField, DefaultAllocator: Allocator, ShapeConstraint: StridesOk, { @@ -445,7 +445,7 @@ N: Dim, M: Dim, K: Dim, - E: Scalar + Zero + One + Copy + SimdComplexField, + E: Float + RealField, DefaultAllocator: Allocator + Allocator + Allocator, ShapeConstraint: StridesOk + StridesOk, { @@ -489,7 +489,7 @@ M: Dim, N: Dim, S: Storage, - E: Float + Scalar + Zero + One + RealField, + E: Float + RealField, DefaultAllocator: Allocator, ShapeConstraint: StridesOk, { @@ -515,7 +515,7 @@ where M: DimName, S: Storage, - E: Float + Scalar + Zero + One + RealField, + E: Float + RealField, DefaultAllocator: Allocator, ShapeConstraint: StridesOk, { @@ -531,7 +531,7 @@ M: Dim, N: Dim, S: Storage, - E: Float + Scalar + Zero + One + RealField, + E: Float + RealField, DefaultAllocator: Allocator, ShapeConstraint: StridesOk, { @@ -553,7 +553,7 @@ M: Dim, N: Dim, S: Storage, - E: Float + Scalar + Zero + One + RealField, + E: Float + RealField, DefaultAllocator: Allocator, ShapeConstraint: StridesOk, { @@ -569,7 +569,7 @@ where M: Dim, S: Storage, - E: Float + Scalar + Zero + One + RealField, + E: Float + RealField, { #[inline] fn norm(&self, _: L1) -> E { @@ -581,7 +581,7 @@ where M: Dim, S: Storage, - E: Float + Scalar + Zero + One + RealField, + E: Float + RealField, DefaultAllocator: Allocator, ShapeConstraint: StridesOk, { @@ -596,7 +596,7 @@ M: Dim, N: Dim, S: Storage, - E: Float + Scalar + Zero + One + RealField, + E: Float + RealField, { #[inline] fn norm(&self, _: L2) -> E { @@ -609,7 +609,7 @@ M: Dim, N: Dim, S: Storage, - E: Float + Scalar + Zero + One + RealField, + E: Float + RealField, DefaultAllocator: Allocator, ShapeConstraint: StridesOk, { @@ -624,7 +624,7 @@ M: Dim, N: Dim, S: Storage, - E: Float + Scalar + Zero + One + RealField, + E: Float + RealField, { #[inline] fn norm(&self, _: Linfinity) -> E { @@ -637,7 +637,7 @@ M: Dim, N: Dim, S: Storage, - E: Float + Scalar + Zero + One + RealField, + E: Float + RealField, DefaultAllocator: Allocator, ShapeConstraint: StridesOk, {