#include <iomanip>
#include <tvmet/Functional.h>
#include <tvmet/Io.h>
Go to the source code of this file.
Define Documentation
#define TVMET_IMPLEMENT_MACRO |
( |
|
NAME, |
|
|
|
OP |
|
) |
| |
Value:template<class T, std::size_t NRows, std::size_t NCols> \
inline \
Matrix<T, NRows, NCols>& \
Matrix<T, NRows, NCols>::operator OP (value_type rhs) { \
typedef XprLiteral<value_type> expr_type; \
this->M_##NAME(XprMatrix<expr_type, Rows, Cols>(expr_type(rhs))); \
return *this; \
}
#define TVMET_IMPLEMENT_MACRO |
( |
|
NAME | ) |
|
Value:template<class T, std::size_t NRows, std::size_t NCols> \
template<class E> \
inline \
Matrix<T, NRows, NCols>& \
Matrix<T, NRows, NCols>::alias_##NAME (const XprMatrix<E, Rows, Cols>& rhs) { \
typedef Matrix<T, NRows, NCols> temp_type; \
temp_type(rhs).assign_to(*this, Fcnl_##NAME<value_type, typename E::value_type>()); \
return *this; \
}
#define TVMET_IMPLEMENT_MACRO |
( |
|
NAME | ) |
|
Value:template<class T1, std::size_t NRows, std::size_t NCols> \
template <class T2> \
inline \
Matrix<T1, NRows, NCols>& \
Matrix<T1, NRows, NCols>::alias_##NAME (const Matrix<T2, Rows, Cols>& rhs) { \
this->alias_##NAME( XprMatrix<typename Matrix<T2, Rows, Cols>::ConstReference, Rows, Cols>(rhs.const_ref()) ); \
return *this; \
}
#define TVMET_IMPLEMENT_MACRO |
( |
|
NAME | ) |
|
Value:template<class T, std::size_t NRows, std::size_t NCols> \
template<class E> \
inline \
Matrix<T, NRows, NCols>& \
Matrix<T, NRows, NCols>::M_##NAME (const XprMatrix<E, Rows, Cols>& rhs) { \
rhs.assign_to(*this, Fcnl_##NAME<value_type, typename E::value_type>()); \
return *this; \
}
#define TVMET_IMPLEMENT_MACRO |
( |
|
NAME | ) |
|
Value:template<class T1, std::size_t NRows, std::size_t NCols> \
template <class T2> \
inline \
Matrix<T1, NRows, NCols>& \
Matrix<T1, NRows, NCols>::M_##NAME (const Matrix<T2, Rows, Cols>& rhs) { \
this->M_##NAME( XprMatrix<typename Matrix<T2, Rows, Cols>::ConstReference, Rows, Cols>(rhs.const_ref()) ); \
return *this; \
}
#define TVMET_IMPLEMENT_MACRO |
( |
|
NAME, |
|
|
|
OP |
|
) |
| |
Value:template<class T, std::size_t NRows, std::size_t NCols> \
inline \
Matrix<T, NRows, NCols>& \
Matrix<T, NRows, NCols>::operator OP (std::size_t rhs) { \
typedef XprLiteral<value_type> expr_type; \
this->M_##NAME(XprMatrix<expr_type, Rows, Cols>(expr_type(rhs))); \
return *this; \
}