src/linops.rs

branch
dev
changeset 131
8264d72aa347
parent 130
0a689881b0f1
equal deleted inserted replaced
130:0a689881b0f1 131:8264d72aa347
27 27
28 /// Efficient in-place summation. 28 /// Efficient in-place summation.
29 #[replace_float_literals(Self::Field::cast_from(literal))] 29 #[replace_float_literals(Self::Field::cast_from(literal))]
30 pub trait AXPY<X = Self>: 30 pub trait AXPY<X = Self>:
31 Space 31 Space
32 + MulAssign<Self::Field> 32 //+ MulAssign<Self::Field>
33 + DivAssign<Self::Field> 33 //+ DivAssign<Self::Field>
34 + AddAssign<Self> 34 //+ AddAssign<Self>
35 + AddAssign<Self::Owned> 35 //+ AddAssign<Self::Owned>
36 + SubAssign<Self> 36 //+ SubAssign<Self>
37 + SubAssign<Self::Owned> 37 //+ SubAssign<Self::Owned>
38 + Mul<Self::Field, Output = Self::Owned> 38 + Mul<Self::Field, Output = Self::Owned>
39 + Div<Self::Field, Output = Self::Owned> 39 + Div<Self::Field, Output = Self::Owned>
40 + Add<Self, Output = Self::Owned> 40 + Add<Self, Output = Self::Owned>
41 + Add<Self::Owned, Output = Self::Owned> 41 + Add<Self::Owned, Output = Self::Owned>
42 + Sub<Self, Output = Self::Owned> 42 + Sub<Self, Output = Self::Owned>
43 + Sub<Self::Owned, Output = Self::Owned> 43 + Sub<Self::Owned, Output = Self::Owned>
44 + Neg 44 + Neg
45 where 45 where
46 X: Space, 46 X: Space,
47 { 47 {
48 type Field: Num; 48 type Field: Float;
49 type Owned: AXPY<X, Field = Self::Field>; 49 type Owned: AXPY<X, Field = Self::Field>;
50 // type OriginGen<'a>: OriginGenerator<Self::Owned, F> 50 // type OriginGen<'a>: OriginGenerator<Self::Owned, F>
51 // where 51 // where
52 // Self: 'a; 52 // Self: 'a;
53 53

mercurial