src/operator_arithmetic.rs

branch
dev
changeset 133
2b13f8a0c8ba
parent 128
f75bf34adda0
child 137
d5dfcb6abcf5
child 150
c4e394a9c84c
--- a/src/operator_arithmetic.rs	Mon May 12 19:30:41 2025 -0500
+++ b/src/operator_arithmetic.rs	Mon May 12 20:40:14 2025 -0500
@@ -99,8 +99,7 @@
     type Codomain = M::Codomain;
 
     fn apply<I: Instance<Domain>>(&self, x: I) -> Self::Codomain {
-        let xr = x.ref_instance();
-        self.0.iter().map(|c| c.apply(xr)).sum()
+        x.eval_ref_decompose(|xr| self.0.iter().map(|c| c.apply(xr)).sum())
     }
 }
 
@@ -113,7 +112,6 @@
     type Derivative = M::DerivativeDomain;
 
     fn differential_impl<I: Instance<Domain>>(&self, x: I) -> Self::Derivative {
-        let xr = x.ref_instance();
-        self.0.iter().map(|c| c.differential(xr)).sum()
+        x.eval_ref_decompose(|xr| self.0.iter().map(|c| c.differential(xr)).sum())
     }
 }

mercurial