369 } |
369 } |
370 |
370 |
371 fn apply_mut<I : Instance<Pair<U, V>>>(&self, y : &mut Y, x : I) { |
371 fn apply_mut<I : Instance<Pair<U, V>>>(&self, y : &mut Y, x : I) { |
372 let Pair(u, v) = x.decompose(); |
372 let Pair(u, v) = x.decompose(); |
373 self.0.apply_mut(y, u); |
373 self.0.apply_mut(y, u); |
374 self.1.apply_mut(y, v); |
374 self.1.apply_add(y, v); |
375 } |
375 } |
376 |
376 |
377 /// Computes `y += Ax`, where `A` is `Self` |
377 /// Computes `y += Ax`, where `A` is `Self` |
378 fn apply_add<I : Instance<Pair<U, V>>>(&self, y : &mut Y, x : I) { |
378 fn apply_add<I : Instance<Pair<U, V>>>(&self, y : &mut Y, x : I) { |
379 let Pair(u, v) = x.decompose(); |
379 let Pair(u, v) = x.decompose(); |