| 137 | |
| 138 | template <class T> |
| 139 | void MultAdd (const class BaseMatrix & mat, FlatVector<T> s, const MultiVector & x, MultiVector & y) |
| 140 | { |
| 141 | if constexpr (std::is_same<T,double>::value) |
| 142 | { |
| 143 | mat.MultAdd (s, x, y); |
| 144 | } |
| 145 | else |
| 146 | for (auto i : Range(x.Size())) |
| 147 | mat.MultAdd (s(i), *x[i], *y[i]); |
| 148 | } |
| 149 | |
| 150 | template void MultAdd (const BaseMatrix & mat, FlatVector<double> s, const MultiVector & x, MultiVector & y); |
| 151 | template void MultAdd (const BaseMatrix & mat, FlatVector<Complex> s, const MultiVector & x, MultiVector & y); |