src/linops.rs

branch
dev
changeset 163
b4a47e8e80d1
parent 154
03f34ba55685
child 164
fd9dba51afd3
equal deleted inserted replaced
162:bea0c3841ced 163:b4a47e8e80d1
917 pub struct Scaled<F: Float>(pub F); 917 pub struct Scaled<F: Float>(pub F);
918 918
919 impl<Domain, F> Mapping<Domain> for Scaled<F> 919 impl<Domain, F> Mapping<Domain> for Scaled<F>
920 where 920 where
921 F: Float, 921 F: Float,
922 Domain: Space + Mul<F>, 922 Domain: Space,
923 <Domain as Mul<F>>::Output: ClosedSpace, 923 Domain::OwnedSpace: Mul<F>,
924 { 924 <Domain::OwnedSpace as Mul<F>>::Output: ClosedSpace,
925 type Codomain = <Domain as Mul<F>>::Output; 925 {
926 type Codomain = <Domain::OwnedSpace as Mul<F>>::Output;
926 927
927 /// Compute the value of `self` at `x`. 928 /// Compute the value of `self` at `x`.
928 fn apply<I: Instance<Domain>>(&self, x: I) -> Self::Codomain { 929 fn apply<I: Instance<Domain>>(&self, x: I) -> Self::Codomain {
929 x.own() * self.0 930 x.own() * self.0
930 } 931 }
931 } 932 }
932 933
933 impl<Domain, F> Linear<Domain> for Scaled<F> 934 impl<Domain, F> Linear<Domain> for Scaled<F>
934 where 935 where
935 F: Float, 936 F: Float,
936 Domain: Space + Mul<F>, 937 Domain: Space,
937 <Domain as Mul<F>>::Output: ClosedSpace, 938 Domain::OwnedSpace: Mul<F>,
938 { 939 <Domain::OwnedSpace as Mul<F>>::Output: ClosedSpace,
939 } 940 {
941 }

mercurial