| 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 } |