src/operator_arithmetic.rs

branch
dev
changeset 150
c4e394a9c84c
parent 133
2b13f8a0c8ba
child 151
402d717bb5c0
equal deleted inserted replaced
149:2f1798c65fd6 150:c4e394a9c84c
1 /*! 1 /*!
2 Arithmetic of [`Mapping`]s. 2 Arithmetic of [`Mapping`]s.
3 */ 3 */
4 4
5 use crate::instance::{Instance, Space}; 5 use crate::instance::{ClosedSpace, Instance, Space};
6 use crate::mapping::{DifferentiableImpl, DifferentiableMapping, Mapping}; 6 use crate::mapping::{DifferentiableImpl, DifferentiableMapping, Mapping};
7 use crate::types::*; 7 use crate::types::*;
8 use serde::Serialize; 8 use serde::Serialize;
9 9
10 /// A trait for encoding constant [`Float`] values 10 /// A trait for encoding constant [`Float`] values
61 impl<'a, T, V, D, F, C> DifferentiableImpl<D> for Weighted<T, C> 61 impl<'a, T, V, D, F, C> DifferentiableImpl<D> for Weighted<T, C>
62 where 62 where
63 F: Float, 63 F: Float,
64 D: Space, 64 D: Space,
65 T: DifferentiableMapping<D, DerivativeDomain = V>, 65 T: DifferentiableMapping<D, DerivativeDomain = V>,
66 V: Space + std::ops::Mul<F, Output = V>, 66 V: ClosedSpace + std::ops::Mul<F, Output = V>,
67 C: Constant<Type = F>, 67 C: Constant<Type = F>,
68 { 68 {
69 type Derivative = V; 69 type Derivative = V;
70 70
71 #[inline] 71 #[inline]

mercurial