src/direct_product.rs

branch
dev
changeset 132
89371dc4d637
parent 130
0a689881b0f1
child 133
2b13f8a0c8ba
--- a/src/direct_product.rs	Mon May 12 16:28:50 2025 -0500
+++ b/src/direct_product.rs	Mon May 12 19:30:41 2025 -0500
@@ -270,22 +270,20 @@
     B: Euclidean<F>,
     //Pair<A, B>: Euclidean<F>,
     Self: Sized
-        + Mul<F, Output = Pair<A, B>>
+        + Mul<F, Output = <Self as AXPY>::Owned>
         + MulAssign<F>
-        + Div<F, Output = Pair<A, B>>
+        + Div<F, Output = <Self as AXPY>::Owned>
         + DivAssign<F>
-        + Add<Self, Output = Pair<A, B>>
-        + Sub<Self, Output = Pair<A, B>>
-        + for<'b> Add<&'b Self, Output = Pair<A, B>>
-        + for<'b> Sub<&'b Self, Output = Pair<A, B>>
+        + Add<Self, Output = <Self as AXPY>::Owned>
+        + Sub<Self, Output = <Self as AXPY>::Owned>
+        + for<'b> Add<&'b Self, Output = <Self as AXPY>::Owned>
+        + for<'b> Sub<&'b Self, Output = <Self as AXPY>::Owned>
         + AddAssign<Self>
         + for<'b> AddAssign<&'b Self>
         + SubAssign<Self>
         + for<'b> SubAssign<&'b Self>
-        + Neg<Output = Pair<A, B>>,
+        + Neg<Output = <Self as AXPY>::Owned>,
 {
-    type Output = Pair<A, B>;
-
     fn dot<I: Instance<Self>>(&self, other: I) -> F {
         let Pair(u, v) = other.decompose();
         self.0.dot(u) + self.1.dot(v)

mercurial