1 #ifndef SELDON_FILE_TINY_MATRIX_EXPRESSION_HXX
7 template<
class T,
int m,
int n,
class E>
13 inline operator E&() {
return static_cast<E&
>(*this); }
14 inline operator E
const&()
const {
return static_cast<const E&
>(*this); }
20 template<
class T,
int m,
int n,
class E1,
class E2>
27 template<
class T1,
class T2>
36 template<
class T,
int m,
int n,
class E1,
class E2>
43 template<
class T1,
class T2>
52 template<
class T,
int m,
int n,
class E1,
class E2>
59 template<
class T1,
class T2>
68 template<
class T,
int m,
int n,
class E1,
class E2>
75 template<
class T1,
class T2>
84 template<
class T,
int m,
int n,
class T0,
class E>
100 template<
class T,
int m,
int n,
class T0,
class E>
116 template<
class T,
int m,
int n,
class T0,
class E>
132 template<
class T,
int m,
int n,
class T0,
class E>
148 template<
class T,
int m,
int n,
class E>
162 template<
class T,
int m,
int n,
class E>
180 template<
class T,
int m,
int n,
class E1,
class E2>
185 template<
class T,
int m,
int n,
class E1,
class E2>
190 template<
class T,
int m,
int n,
class E1,
class E2>
195 template<
class T,
int m,
int n,
class E1,
class E2>
200 template<
class T,
int m,
int n,
class E1,
class E2>
205 template<
class T,
int m,
int n,
class E1,
class E2>
210 template<
class T,
int m,
int n,
class E1,
class E2>
215 template<
class T,
int m,
int n,
class E1,
class E2>
220 template<
class T,
int m,
int n,
class E1,
class E2>
225 template<
class T,
int m,
int n,
class E1,
class E2>
230 template<
class T,
int m,
int n,
class E1,
class E2>
235 template<
class T,
int m,
int n,
class E1,
class E2>
240 template<
class T,
int m,
int n,
class E>
244 template<
class T,
int m,
int n,
class E>
249 template<
class T,
int m,
int n,
class E>
254 template<
class T,
int m,
int n,
class E>
258 template<
class T,
int m,
int n,
class E>
261 const complex<T>& alpha);
263 template<
class T,
int m,
int n,
class E>
268 template<
class T,
int m,
int n,
class E>
272 template<
class T,
int m,
int n,
class E>
277 template<
class T,
int m,
int n,
class E>
282 template<
class T,
int m,
int n,
class E>
286 template<
class T,
int m,
int n,
class E>
289 const complex<T>& alpha);
291 template<
class T,
int m,
int n,
class E>
296 template<
class T,
int m,
int n,
class E>
300 template<
class T,
int m,
int n,
class E>
305 template<
class T,
int m,
int n,
class E>
310 template<
class T,
int m,
int n,
class E>
314 template<
class T,
int m,
int n,
class E>
317 const complex<T>& alpha);
319 template<
class T,
int m,
int n,
class E>
324 template<
class T,
int m,
int n,
class E>
328 template<
class T,
int m,
int n,
class E>
331 const complex<T>& alpha);
333 template<
class T,
int m,
int n,
class E>
338 template<
class T,
int m,
int n,
class E>
342 template<
class T,
int m,
int n,
class E>
347 template<
class T,
int m,
int n,
class E>
352 template<
class T,
int m,
int n,
class E>
355 template<
class T,
int m,
int n,
class E>
360 #define SELDON_FILE_TINY_MATRIX_EXPRESSION_HXX
const TinyMatrixProduct< T, m, n, E1, E2 > operator*(const TinyMatrixExpression< T, m, n, E1 > &u, const TinyMatrixExpression< T, m, n, E2 > &v)
returns u*v element-wise
const T operator()(int, int) const
returns the i-th element of alpha - u
const TinyMatrixSum< T, m, n, E1, E2 > operator+(const TinyMatrixExpression< T, m, n, E1 > &u, const TinyMatrixExpression< T, m, n, E2 > &v)
returns u+v
TinyMatrixScalDiff(const T0 &, const TinyMatrixExpression< T1, m, n, E > &)
Constructor alpha - u with a scalar alpha and an expression u.
TinyMatrixScalSum(const T0 &, const TinyMatrixExpression< T1, m, n, E > &)
Constructor alpha + u with a scalar alpha and an expression u.
Multiplication between a scalar and a matrix.
const T operator()(int, int) const
returns the i-th element of the sum
Difference between two expressions.
const T operator()(int, int) const
returns the i-th element of -u
TinyMatrixDivision(const TinyMatrixExpression< T1, m, n, E1 > &, const TinyMatrixExpression< T2, m, n, E2 > &)
Constructor u / v with two expressions u and v.
const T operator()(int, int) const
returns the i-th element of the difference
Division between two expressions (elementwise)
TinyMatrixOpposite(const TinyMatrixExpression< T, m, n, E > &)
Constructor -u with an expression u.
Addition between a scalar and a matrix.
TinyMatrixTranspose(const TinyMatrixExpression< T, n, m, E > &)
Constructor transpose(u) with an expression u.
TinyMatrixScalDiv(const T0 &, const TinyMatrixExpression< T1, m, n, E > &)
Constructor alpha / u with a scalar alpha and an expression u.
const TinyMatrixDivision< T, m, n, E1, E2 > operator/(const TinyMatrixExpression< T, m, n, E1 > &u, const TinyMatrixExpression< T, m, n, E2 > &v)
returns u/v element-wise
const TinyMatrixTranspose< T, m, n, E > transpose(const TinyMatrixExpression< T, n, m, E > &u)
returns transpose(u)
TinyMatrixScaled(const T0 &, const TinyMatrixExpression< T1, m, n, E > &)
Constructor alpha * u with a scalar alpha and an expression u.
const T operator()(int, int) const
returns the i-th element of the element-wise product
const T operator()(int, int) const
returns the i-th element of alpha*u
TinyMatrixProduct(const TinyMatrixExpression< T1, m, n, E1 > &, const TinyMatrixExpression< T2, m, n, E2 > &)
Constructor u*v with two expressions u and v.
const T operator()(int, int) const
returns the element i of expression
Division between a scalar and a matrix.
Expression between vectors.
const TinyMatrixDifference< T, m, n, E1, E2 > operator-(const TinyMatrixExpression< T, m, n, E1 > &u, const TinyMatrixExpression< T, m, n, E2 > &v)
returns u-v
Product between two expressions (elementwise)
const T operator()(int, int) const
returns the i-th element of -u
const T operator()(int, int) const
returns the i-th element of alpha / u
Subtraction between a scalar and a matrix.
TinyMatrixSum(const TinyMatrixExpression< T1, m, n, E1 > &, const TinyMatrixExpression< T2, m, n, E2 > &)
Constructor u+v with two expressions u and v.
Sum between two expressions.
const T operator()(int, int) const
returns the i-th element of the element-wise division
TinyMatrixDifference(const TinyMatrixExpression< T1, m, n, E1 > &, const TinyMatrixExpression< T2, m, n, E2 > &)
Constructor u-v with two expressions u and v.
const T operator()(int, int) const
returns the i-th element of alpha + u