Tue, 31 Dec 2024 23:34:47 -0500
Simplify IdOp GEMV
src/linops.rs | file | annotate | diff | comparison | revisions |
--- a/src/linops.rs Tue Dec 31 10:57:13 2024 -0500 +++ b/src/linops.rs Tue Dec 31 23:34:47 2024 -0500 @@ -156,17 +156,16 @@ { } #[replace_float_literals(F::cast_from(literal))] -impl<F : Num, X, Y> GEMV<F, X, Y> for IdOp<X> +impl<F : Num, X> GEMV<F, X, X> for IdOp<X> where - Y : AXPY<F>, - X : Clone + Space + X : AXPY<F> + Clone + Space { // Computes `y = αAx + βy`, where `A` is `Self`. - fn gemv<I : Instance<X>>(&self, y : &mut Y, α : F, x : I, β : F) { + fn gemv<I : Instance<X>>(&self, y : &mut X, α : F, x : I, β : F) { y.axpy(α, x, β) } - fn apply_mut<I : Instance<X>>(&self, y : &mut Y, x : I){ + fn apply_mut<I : Instance<X>>(&self, y : &mut X, x : I){ y.copy_from(x); } }