diff -r d2994e34a5f5 -r 0a689881b0f1 src/linops.rs --- a/src/linops.rs Mon May 12 15:42:48 2025 -0500 +++ b/src/linops.rs Mon May 12 16:28:50 2025 -0500 @@ -11,7 +11,7 @@ use numeric_literals::replace_float_literals; use serde::Serialize; use std::marker::PhantomData; -use std::ops::Mul; +use std::ops::{Add, AddAssign, Div, DivAssign, Mul, MulAssign, Neg, Sub, SubAssign}; /// Trait for linear operators on `X`. pub trait Linear: Mapping {} @@ -27,7 +27,21 @@ /// Efficient in-place summation. #[replace_float_literals(Self::Field::cast_from(literal))] -pub trait AXPY: Space + std::ops::MulAssign +pub trait AXPY: + Space + + MulAssign + + DivAssign + + AddAssign + + AddAssign + + SubAssign + + SubAssign + + Mul + + Div + + Add + + Add + + Sub + + Sub + + Neg where X: Space, { @@ -504,8 +518,6 @@ #[derive(Clone, Copy, Debug, Serialize, Eq, PartialEq)] pub struct RowOp(pub S, pub T); -use std::ops::Add; - impl Mapping> for RowOp where A: Space,