35 #ifndef _BLAZE_MATH_EXPRESSIONS_MATRIX_H_
36 #define _BLAZE_MATH_EXPRESSIONS_MATRIX_H_
91 return *
static_cast<const MatrixType*
>( this );
109 template<
typename MT,
bool SO >
110 inline size_t rows(
const Matrix<MT,SO>& m );
112 template<
typename MT,
bool SO >
113 inline size_t columns(
const Matrix<MT,SO>& m );
115 template<
typename MT,
bool SO >
116 inline size_t capacity(
const Matrix<MT,SO>& m );
118 template<
typename MT,
bool SO >
119 inline size_t capacity(
const Matrix<MT,SO>& m,
size_t i );
121 template<
typename MT,
bool SO >
122 inline size_t nonZeros(
const Matrix<MT,SO>& m );
124 template<
typename MT,
bool SO >
125 inline size_t nonZeros(
const Matrix<MT,SO>& m,
size_t i );
127 template<
typename MT1,
bool SO1,
typename MT2,
bool SO2 >
128 inline void assign( Matrix<MT1,SO1>& lhs,
const Matrix<MT2,SO2>& rhs );
130 template<
typename MT1,
bool SO1,
typename MT2,
bool SO2 >
131 inline void addAssign( Matrix<MT1,SO1>& lhs,
const Matrix<MT2,SO2>& rhs );
133 template<
typename MT1,
bool SO1,
typename MT2,
bool SO2 >
134 inline void subAssign( Matrix<MT1,SO1>& lhs,
const Matrix<MT2,SO2>& rhs );
136 template<
typename MT1,
bool SO1,
typename MT2,
bool SO2 >
137 inline void multAssign( Matrix<MT1,SO1>& lhs,
const Matrix<MT2,SO2>& rhs );
139 template<
typename MT1,
bool SO1,
typename MT2,
bool SO2 >
140 inline bool isSame(
const Matrix<MT1,SO1>& a,
const Matrix<MT2,SO2>& b );
152 template<
typename MT
168 template<
typename MT
172 return (~m).columns();
184 template<
typename MT
188 return (~m).capacity();
206 template<
typename MT
210 return (~m).capacity( i );
222 template<
typename MT
226 return (~m).nonZeros();
244 template<
typename MT
248 return (~m).nonZeros( i );
267 template<
typename MT1
297 template<
typename MT1
327 template<
typename MT1
357 template<
typename MT1
405 template<
typename MT1
412 reinterpret_cast<const void*>( &a ) == reinterpret_cast<const void*>( &b ) );
MT MatrixType
Type of the matrix.
Definition: Matrix.h:72
Header file for the IsSame and IsStrictlySame type traits.
Type relationship analysis.This class tests if the two data types A and B are equal. For this type comparison, the cv-qualifiers of both data types are ignored. If A and B are the same data type (ignoring the cv-qualifiers), then the value member enumeration is set to 1, the nested type definition Type is TrueType, and the class derives from TrueType. Otherwise value is set to 0, Type is FalseType, and the class derives from FalseType.
Definition: IsSame.h:158
bool isSame(const Matrix< MT1, SO1 > &a, const Matrix< MT2, SO2 > &b)
Returns whether the two given matrices represent the same observable state.
Definition: Matrix.h:409
size_t nonZeros(const Matrix< MT, SO > &m)
Returns the total number of non-zero elements in the matrix.
Definition: Matrix.h:224
void assign(Matrix< MT1, SO1 > &lhs, const Matrix< MT2, SO2 > &rhs)
Default implementation of the assignment of a matrix to a matrix.
Definition: Matrix.h:271
void multAssign(Matrix< MT1, SO1 > &lhs, const Matrix< MT2, SO2 > &rhs)
Default implementation of the multiplication assignment of a matrix to a matrix.
Definition: Matrix.h:361
Header file for run time assertion macros.
MatrixType & operator~()
Conversion operator for non-constant matrices.
Definition: Matrix.h:80
void addAssign(Matrix< MT1, SO1 > &lhs, const Matrix< MT2, SO2 > &rhs)
Default implementation of the addition assignment of a matrix to a matrix.
Definition: Matrix.h:301
void subAssign(Matrix< MT1, SO1 > &lhs, const Matrix< MT2, SO2 > &rhs)
Default implementation of the subtraction assignment of a matrix to matrix.
Definition: Matrix.h:331
#define BLAZE_FUNCTION_TRACE
Function trace macro.This macro can be used to reliably trace function calls. In case function tracin...
Definition: FunctionTrace.h:157
size_t columns(const Matrix< MT, SO > &m)
Returns the current number of columns of the matrix.
Definition: Matrix.h:170
const MatrixType & operator~() const
Conversion operator for constant matrices.
Definition: Matrix.h:90
size_t rows(const Matrix< MT, SO > &m)
Returns the current number of rows of the matrix.
Definition: Matrix.h:154
#define BLAZE_INTERNAL_ASSERT(expr, msg)
Run time assertion macro for internal checks.In case of an invalid run time expression, the program execution is terminated. The BLAZE_INTERNAL_ASSERT macro can be disabled by setting the BLAZE_USER_ASSERTION flag to zero or by defining NDEBUG during the compilation.
Definition: Assert.h:101
size_t capacity(const Matrix< MT, SO > &m)
Returns the maximum capacity of the matrix.
Definition: Matrix.h:186
Header file for the FunctionTrace class.