src/mapping.rs

branch
dev
changeset 69
e5fab0125a8e
parent 68
c5f70e767511
child 75
e9f4550cfa18
--- a/src/mapping.rs	Tue Dec 31 08:48:50 2024 -0500
+++ b/src/mapping.rs	Thu Dec 26 12:35:53 2024 -0500
@@ -127,53 +127,6 @@
     }
 }
 
-/// A sum of [`Mapping`]s.
-#[derive(Serialize, Debug, Clone)]
-pub struct Sum<Domain, M> {
-    components : Vec<M>,
-    _domain : PhantomData<Domain>,
-}
-
-impl<Domain, M> Sum<Domain, M> {
-    /// Construct from an iterator.
-    pub fn new<I : Iterator<Item = M>>(iter : I) -> Self {
-        Sum { components : iter.collect(), _domain : PhantomData }
-    }
-
-    /// Iterate over the component functions of the sum
-    pub fn iter(&self) -> std::slice::Iter<'_, M> {
-        self.components.iter()
-    }
-}
-
-
-impl<Domain, M> Mapping<Domain> for Sum<Domain, M>
-where
-    Domain : Space + Clone,
-    M : Mapping<Domain>,
-    M::Codomain : std::iter::Sum + Clone
-{
-    type Codomain = M::Codomain;
-
-    fn apply<I : Instance<Domain>>(&self, x : I) -> Self::Codomain {
-        let xr = x.ref_instance();
-        self.components.iter().map(|c| c.apply(xr)).sum()
-    }
-}
-
-impl<Domain, M> DifferentiableImpl<Domain> for Sum<Domain, M>
-where
-    Domain : Space + Clone,
-    M : DifferentiableMapping<Domain>,
-    M :: DerivativeDomain : std::iter::Sum
-{
-    type Derivative = M::DerivativeDomain;
-
-    fn differential_impl<I : Instance<Domain>>(&self, x : I) -> Self::Derivative {
-        let xr = x.ref_instance();
-        self.components.iter().map(|c| c.differential(xr)).sum()
-    }
-}
 
 /// Container for the differential [`Mapping`] of a [`Differentiable`] mapping.
 pub struct Differential<'a, X, G : Clone> {

mercurial