src/direct_product.rs

branch
dev
changeset 82
981069ef919b
parent 64
4f6ca107ccb1
child 85
f2fc6115b897
equal deleted inserted replaced
76:99ad55974e62 82:981069ef919b
285 Pair<A::Owned, B::Owned> : AXPY<F, Pair<U, V>>, 285 Pair<A::Owned, B::Owned> : AXPY<F, Pair<U, V>>,
286 { 286 {
287 287
288 type Owned = Pair<A::Owned, B::Owned>; 288 type Owned = Pair<A::Owned, B::Owned>;
289 289
290 fn add_mul<I : Instance<Pair<U,V>>>(self, α : F, x : I, β : F) -> Self::Owned {
291 let Pair(u, v) = x.decompose();
292 Pair(self.0.add_mul(α, u, β), self.1.add_mul(α, v, β))
293 }
294
290 fn axpy<I : Instance<Pair<U,V>>>(&mut self, α : F, x : I, β : F) { 295 fn axpy<I : Instance<Pair<U,V>>>(&mut self, α : F, x : I, β : F) {
291 let Pair(u, v) = x.decompose(); 296 let Pair(u, v) = x.decompose();
292 self.0.axpy(α, u, β); 297 self.0.axpy(α, u, β);
293 self.1.axpy(α, v, β); 298 self.1.axpy(α, v, β);
294 } 299 }

mercurial