1 #ifndef SELDON_FILE_TINY_MATRIX_EXPRESSION_INLINE_CXX
7 template<
class T,
int m,
int n,
class E>
10 return static_cast<const E&
>(*this)(i, j);
15 template<
class T,
int m,
int n,
class E1,
class E2>
template<
class T1,
class T2>
25 template<
class T,
int m,
int n,
class E1,
class E2>
28 return u_(i, j) - v_(i, j);
33 template<
class T,
int m,
int n,
class E1,
class E2>
template<
class T1,
class T2>
43 template<
class T,
int m,
int n,
class E1,
class E2>
46 return u_(i, j) + v_(i, j);
51 template<
class T,
int m,
int n,
class E1,
class E2>
template<
class T1,
class T2>
61 template<
class T,
int m,
int n,
class E1,
class E2>
64 return u_(i, j) * v_(i, j);
69 template<
class T,
int m,
int n,
class E1,
class E2>
template<
class T1,
class T2>
79 template<
class T,
int m,
int n,
class E1,
class E2>
82 return u_(i, j) / v_(i, j);
87 template<
class T,
int m,
int n,
class T0,
class E>
template<
class T1>
91 : alpha_(alpha), u_(u)
97 template<
class T,
int m,
int n,
class T0,
class E>
100 return alpha_*u_(i, j);
105 template<
class T,
int m,
int n,
class T0,
class E>
template<
class T1>
108 : alpha_(alpha), u_(u)
114 template<
class T,
int m,
int n,
class T0,
class E>
117 return alpha_ / u_(i, j);
122 template<
class T,
int m,
int n,
class T0,
class E>
template<
class T1>
126 : alpha_(alpha), u_(u)
132 template<
class T,
int m,
int n,
class T0,
class E>
135 return alpha_ + u_(i, j);
140 template<
class T,
int m,
int n,
class T0,
class E>
template<
class T1>
144 : alpha_(alpha), u_(u)
150 template<
class T,
int m,
int n,
class T0,
class E>
153 return alpha_ - u_(i, j);
158 template<
class T,
int m,
int n,
class E>
166 template<
class T,
int m,
int n,
class E>
174 template<
class T,
int m,
int n,
class E>
182 template<
class T,
int m,
int n,
class E>
195 template<
class T,
int m,
int n,
class E1,
class E2>
205 template<
class T,
int m,
int n,
class E1,
class E2>
206 inline const TinyMatrixSum<complex<T>, m, n, E1, E2>
215 template<
class T,
int m,
int n,
class E1,
class E2>
216 inline const TinyMatrixSum<complex<T>, m, n, E1, E2>
225 template<
class T,
int m,
int n,
class E1,
class E2>
226 inline const TinyMatrixDifference<T, m, n, E1, E2>
235 template<
class T,
int m,
int n,
class E1,
class E2>
236 inline const TinyMatrixDifference<complex<T>, m, n, E1, E2>
245 template<
class T,
int m,
int n,
class E1,
class E2>
246 inline const TinyMatrixDifference<complex<T>, m, n, E1, E2>
255 template<
class T,
int m,
int n,
class E1,
class E2>
256 inline const TinyMatrixProduct<T, m, n, E1, E2>
265 template<
class T,
int m,
int n,
class E1,
class E2>
266 inline const TinyMatrixProduct<complex<T>, m, n, E1, E2>
275 template<
class T,
int m,
int n,
class E1,
class E2>
276 inline const TinyMatrixProduct<complex<T>, m, n, E1, E2>
285 template<
class T,
int m,
int n,
class E1,
class E2>
286 inline const TinyMatrixDivision<T, m, n, E1, E2>
295 template<
class T,
int m,
int n,
class E1,
class E2>
296 inline const TinyMatrixDivision<complex<T>, m, n, E1, E2>
305 template<
class T,
int m,
int n,
class E1,
class E2>
306 inline const TinyMatrixDivision<complex<T>, m, n, E1, E2>
315 template<
class T,
int m,
int n,
class E>
324 template<
class T,
int m,
int n,
class E>
325 inline const TinyMatrixScaled<complex<T>, m, n, complex<T>, E>
334 template<
class T,
int m,
int n,
class E>
335 inline const TinyMatrixScaled<complex<T>, m, n, T, E>
344 template<
class T,
int m,
int n,
class E>
353 template<
class T,
int m,
int n,
class E>
354 inline const TinyMatrixScaled<complex<T>, m, n, complex<T>, E>
356 const complex<T>& alpha)
363 template<
class T,
int m,
int n,
class E>
364 inline const TinyMatrixScaled<complex<T>, m, n, T, E>
373 template<
class T,
int m,
int n,
class E>
382 template<
class T,
int m,
int n,
class E>
383 inline const TinyMatrixScalDiv<complex<T>, m, n, complex<T>, E>
392 template<
class T,
int m,
int n,
class E>
393 inline const TinyMatrixScalDiv<complex<T>, m, n, T, E>
402 template<
class T,
int m,
int n,
class E>
406 T one; SetComplexOne(one);
412 template<
class T,
int m,
int n,
class E>
413 inline const TinyMatrixScaled<complex<T>, m, n, complex<T>, E>
415 const complex<T>& alpha)
417 T one; SetComplexOne(one);
423 template<
class T,
int m,
int n,
class E>
424 inline const TinyMatrixScaled<complex<T>, m, n, T, E>
428 T one; SetComplexOne(one);
434 template<
class T,
int m,
int n,
class E>
443 template<
class T,
int m,
int n,
class E>
444 inline const TinyMatrixScalSum<complex<T>, m, n, complex<T>, E>
453 template<
class T,
int m,
int n,
class E>
454 inline const TinyMatrixScalSum<complex<T>, m, n, T, E>
463 template<
class T,
int m,
int n,
class E>
472 template<
class T,
int m,
int n,
class E>
473 inline const TinyMatrixScalSum<complex<T>, m, n, complex<T>, E>
475 const complex<T>& alpha)
482 template<
class T,
int m,
int n,
class E>
483 inline const TinyMatrixScalSum<complex<T>, m, n, T, E>
492 template<
class T,
int m,
int n,
class E>
501 template<
class T,
int m,
int n,
class E>
502 inline const TinyMatrixScalSum<complex<T>, m, n, complex<T>, E>
504 const complex<T>& alpha)
511 template<
class T,
int m,
int n,
class E>
512 inline const TinyMatrixScalSum<complex<T>, m, n, T, E>
521 template<
class T,
int m,
int n,
class E>
530 template<
class T,
int m,
int n,
class E>
531 inline const TinyMatrixScalDiff<complex<T>, m, n, complex<T>, E>
540 template<
class T,
int m,
int n,
class E>
541 inline const TinyMatrixScalDiff<complex<T>, m, n, T, E>
550 template<
class T,
int m,
int n,
class E>
558 template<
class T,
int m,
int n,
class E>
566 #define SELDON_FILE_TINY_MATRIX_EXPRESSION_INLINE_CXX