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