SourceForge Logo Tiny Vector Matrix library using Expression Templates Sourceforge Project Page

include/tvmet/MatrixOperators.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  tvmet
namespace  tvmet::element_wise

Defines

#define TVMET_DECLARE_MACRO(NAME, OP)
#define TVMET_DECLARE_MACRO(NAME, OP)
#define TVMET_DECLARE_MACRO(NAME, OP, POD)
#define TVMET_DECLARE_MACRO(NAME, OP)
#define TVMET_DECLARE_MACRO(NAME, OP)
#define TVMET_DECLARE_MACRO(NAME, OP)
#define TVMET_DECLARE_MACRO(NAME, OP, TP)
#define TVMET_DECLARE_MACRO(NAME, OP)
#define TVMET_IMPLEMENT_MACRO(NAME, OP)
#define TVMET_IMPLEMENT_MACRO(NAME, OP)
#define TVMET_IMPLEMENT_MACRO(NAME, OP, POD)
#define TVMET_IMPLEMENT_MACRO(NAME, OP)
#define TVMET_IMPLEMENT_MACRO(NAME, OP)
#define TVMET_IMPLEMENT_MACRO(NAME, OP)
#define TVMET_IMPLEMENT_MACRO(NAME, OP, TP)
#define TVMET_IMPLEMENT_MACRO(NAME, OP)

Functions

template<class T, std::size_t Rows, std::size_t Cols>
std::ostream & tvmet::operator<< (std::ostream &os, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 Overload operator for i/o.
template<class T1, class T2, std::size_t Rows, std::size_t Cols>
Matrix< T1, Rows, Cols > & tvmet::operator+= (Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, class E, std::size_t Rows, std::size_t Cols>
Matrix< T, Rows, Cols > & tvmet::operator+= (Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, class T2, std::size_t Rows, std::size_t Cols>
Matrix< T1, Rows, Cols > & tvmet::operator-= (Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, class E, std::size_t Rows, std::size_t Cols>
Matrix< T, Rows, Cols > & tvmet::operator-= (Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, class T2, std::size_t Rows, std::size_t Cols>
Matrix< T1, Rows, Cols > & tvmet::element_wise::operator *= (Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, class E, std::size_t Rows, std::size_t Cols>
Matrix< T, Rows, Cols > & tvmet::element_wise::operator *= (Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, class T2, std::size_t Rows, std::size_t Cols>
Matrix< T1, Rows, Cols > & tvmet::element_wise::operator/= (Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, class E, std::size_t Rows, std::size_t Cols>
Matrix< T, Rows, Cols > & tvmet::element_wise::operator/= (Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, class T2, std::size_t Rows, std::size_t Cols>
Matrix< T1, Rows, Cols > & tvmet::element_wise::operator%= (Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, class E, std::size_t Rows, std::size_t Cols>
Matrix< T, Rows, Cols > & tvmet::element_wise::operator%= (Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, class T2, std::size_t Rows, std::size_t Cols>
Matrix< T1, Rows, Cols > & tvmet::element_wise::operator^= (Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, class E, std::size_t Rows, std::size_t Cols>
Matrix< T, Rows, Cols > & tvmet::element_wise::operator^= (Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, class T2, std::size_t Rows, std::size_t Cols>
Matrix< T1, Rows, Cols > & tvmet::element_wise::operator &= (Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, class E, std::size_t Rows, std::size_t Cols>
Matrix< T, Rows, Cols > & tvmet::element_wise::operator &= (Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, class T2, std::size_t Rows, std::size_t Cols>
Matrix< T1, Rows, Cols > & tvmet::element_wise::operator|= (Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, class E, std::size_t Rows, std::size_t Cols>
Matrix< T, Rows, Cols > & tvmet::element_wise::operator|= (Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, class T2, std::size_t Rows, std::size_t Cols>
Matrix< T1, Rows, Cols > & tvmet::element_wise::operator<<= (Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, class E, std::size_t Rows, std::size_t Cols>
Matrix< T, Rows, Cols > & tvmet::element_wise::operator<<= (Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, class T2, std::size_t Rows, std::size_t Cols>
Matrix< T1, Rows, Cols > & tvmet::element_wise::operator>>= (Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, class E, std::size_t Rows, std::size_t Cols>
Matrix< T, Rows, Cols > & tvmet::element_wise::operator>>= (Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, class T2, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_add<
T1, T2 >, MatrixConstReference<
T1, Rows, Cols >, MatrixConstReference<
T2, Rows, Cols > >, Rows,
Cols > 
tvmet::operator+ (const Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class E, class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_add<
typename E::value_type, T >,
XprMatrix< E, Rows, Cols >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator+ (const XprMatrix< E, Rows, Cols > &lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_add<
typename E::value_type, T >,
MatrixConstReference< T,
Rows, Cols >, XprMatrix<
E, Rows, Cols > >, Rows,
Cols > 
tvmet::operator+ (const Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, class T2, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_sub<
T1, T2 >, MatrixConstReference<
T1, Rows, Cols >, MatrixConstReference<
T2, Rows, Cols > >, Rows,
Cols > 
tvmet::operator- (const Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class E, class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_sub<
typename E::value_type, T >,
XprMatrix< E, Rows, Cols >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator- (const XprMatrix< E, Rows, Cols > &lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_sub<
typename E::value_type, T >,
MatrixConstReference< T,
Rows, Cols >, XprMatrix<
E, Rows, Cols > >, Rows,
Cols > 
tvmet::operator- (const Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, class T2, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_mul<
T1, T2 >, MatrixConstReference<
T1, Rows, Cols >, MatrixConstReference<
T2, Rows, Cols > >, Rows,
Cols > 
tvmet::element_wise::operator * (const Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class E, class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_mul<
typename E::value_type, T >,
XprMatrix< E, Rows, Cols >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::element_wise::operator * (const XprMatrix< E, Rows, Cols > &lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_mul<
typename E::value_type, T >,
MatrixConstReference< T,
Rows, Cols >, XprMatrix<
E, Rows, Cols > >, Rows,
Cols > 
tvmet::element_wise::operator * (const Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, class T2, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_div<
T1, T2 >, MatrixConstReference<
T1, Rows, Cols >, MatrixConstReference<
T2, Rows, Cols > >, Rows,
Cols > 
tvmet::element_wise::operator/ (const Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class E, class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_div<
typename E::value_type, T >,
XprMatrix< E, Rows, Cols >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::element_wise::operator/ (const XprMatrix< E, Rows, Cols > &lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_div<
typename E::value_type, T >,
MatrixConstReference< T,
Rows, Cols >, XprMatrix<
E, Rows, Cols > >, Rows,
Cols > 
tvmet::element_wise::operator/ (const Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_add<
T, int >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
int > >, Rows, Cols > 
tvmet::operator+ (const Matrix< T, Rows, Cols > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_add<
int, T >, XprLiteral< int >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator+ (int lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_sub<
T, int >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
int > >, Rows, Cols > 
tvmet::operator- (const Matrix< T, Rows, Cols > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_sub<
int, T >, XprLiteral< int >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator- (int lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_mul<
T, int >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
int > >, Rows, Cols > 
tvmet::operator * (const Matrix< T, Rows, Cols > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_mul<
int, T >, XprLiteral< int >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator * (int lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_div<
T, int >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
int > >, Rows, Cols > 
tvmet::operator/ (const Matrix< T, Rows, Cols > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_div<
int, T >, XprLiteral< int >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator/ (int lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_add<
T, float >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
float > >, Rows, Cols > 
tvmet::operator+ (const Matrix< T, Rows, Cols > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_add<
float, T >, XprLiteral< float >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator+ (float lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_sub<
T, float >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
float > >, Rows, Cols > 
tvmet::operator- (const Matrix< T, Rows, Cols > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_sub<
float, T >, XprLiteral< float >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator- (float lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_mul<
T, float >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
float > >, Rows, Cols > 
tvmet::operator * (const Matrix< T, Rows, Cols > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_mul<
float, T >, XprLiteral< float >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator * (float lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_div<
T, float >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
float > >, Rows, Cols > 
tvmet::operator/ (const Matrix< T, Rows, Cols > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_div<
float, T >, XprLiteral< float >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator/ (float lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_add<
T, double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
double > >, Rows, Cols > 
tvmet::operator+ (const Matrix< T, Rows, Cols > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_add<
double, T >, XprLiteral<
double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator+ (double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_sub<
T, double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
double > >, Rows, Cols > 
tvmet::operator- (const Matrix< T, Rows, Cols > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_sub<
double, T >, XprLiteral<
double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator- (double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_mul<
T, double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
double > >, Rows, Cols > 
tvmet::operator * (const Matrix< T, Rows, Cols > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_mul<
double, T >, XprLiteral<
double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator * (double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_div<
T, double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
double > >, Rows, Cols > 
tvmet::operator/ (const Matrix< T, Rows, Cols > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_div<
double, T >, XprLiteral<
double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator/ (double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_add<
T, long double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
long double > >, Rows, Cols > 
tvmet::operator+ (const Matrix< T, Rows, Cols > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_add<
long double, T >, XprLiteral<
long double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator+ (long double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_sub<
T, long double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
long double > >, Rows, Cols > 
tvmet::operator- (const Matrix< T, Rows, Cols > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_sub<
long double, T >, XprLiteral<
long double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator- (long double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_mul<
T, long double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
long double > >, Rows, Cols > 
tvmet::operator * (const Matrix< T, Rows, Cols > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_mul<
long double, T >, XprLiteral<
long double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator * (long double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_div<
T, long double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
long double > >, Rows, Cols > 
tvmet::operator/ (const Matrix< T, Rows, Cols > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_div<
long double, T >, XprLiteral<
long double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator/ (long double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_add<
std::complex< T >, std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols >, XprLiteral< std::complex<
T > > >, Rows, Cols > 
tvmet::operator+ (const Matrix< std::complex< T >, Rows, Cols > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_add<
std::complex< T >, std::complex<
T > >, XprLiteral< std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols > >, Rows, Cols > 
tvmet::operator+ (const std::complex< T > &lhs, const Matrix< std::complex< T >, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_sub<
std::complex< T >, std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols >, XprLiteral< std::complex<
T > > >, Rows, Cols > 
tvmet::operator- (const Matrix< std::complex< T >, Rows, Cols > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_sub<
std::complex< T >, std::complex<
T > >, XprLiteral< std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols > >, Rows, Cols > 
tvmet::operator- (const std::complex< T > &lhs, const Matrix< std::complex< T >, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_mul<
std::complex< T >, std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols >, XprLiteral< std::complex<
T > > >, Rows, Cols > 
tvmet::operator * (const Matrix< std::complex< T >, Rows, Cols > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_mul<
std::complex< T >, std::complex<
T > >, XprLiteral< std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols > >, Rows, Cols > 
tvmet::operator * (const std::complex< T > &lhs, const Matrix< std::complex< T >, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_div<
std::complex< T >, std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols >, XprLiteral< std::complex<
T > > >, Rows, Cols > 
tvmet::operator/ (const Matrix< std::complex< T >, Rows, Cols > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_div<
std::complex< T >, std::complex<
T > >, XprLiteral< std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols > >, Rows, Cols > 
tvmet::operator/ (const std::complex< T > &lhs, const Matrix< std::complex< T >, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, std::size_t Rows1, std::size_t Cols1, class T2, std::size_t Cols2>
XprMatrix< XprMMProduct< MatrixConstReference<
T1, Rows1, Cols1 >, Rows1,
Cols1, MatrixConstReference<
T2, Cols1, Cols2 >, Cols2 >,
Rows1, Cols2 > 
tvmet::operator * (const Matrix< T1, Rows1, Cols1 > &lhs, const Matrix< T2, Cols1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE
 multiply two Matrices.
template<class E1, std::size_t Rows1, std::size_t Cols1, class T2, std::size_t Cols2>
XprMatrix< XprMMProduct< XprMatrix<
E1, Rows1, Cols1 >, Rows1,
Cols1, MatrixConstReference<
T2, Cols1, Cols2 >, Cols2 >,
Rows1, Cols2 > 
tvmet::operator * (const XprMatrix< E1, Rows1, Cols1 > &lhs, const Matrix< T2, Cols1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE
 Evaluate the product of XprMatrix and Matrix.
template<class T1, std::size_t Rows1, std::size_t Cols1, class E2, std::size_t Cols2>
XprMatrix< XprMMProduct< MatrixConstReference<
T1, Rows1, Cols1 >, Rows1,
Cols1, XprMatrix< E2, Cols1,
Cols2 >, Cols2 >, Rows1,
Cols2 > 
tvmet::operator * (const Matrix< T1, Rows1, Cols1 > &lhs, const XprMatrix< E2, Cols1, Cols2 > &rhs) TVMET_CXX_ALWAYS_INLINE
 Evaluate the product of Matrix and XprMatrix.
template<class T1, std::size_t Rows, std::size_t Cols, class T2>
XprVector< XprMVProduct< MatrixConstReference<
T1, Rows, Cols >, Rows, Cols,
VectorConstReference< T2,
Cols > >, Rows > 
tvmet::operator * (const Matrix< T1, Rows, Cols > &lhs, const Vector< T2, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 multiply a Matrix with a Vector.
template<class T1, class E2, std::size_t Rows, std::size_t Cols>
XprVector< XprMVProduct< MatrixConstReference<
T1, Rows, Cols >, Rows, Cols,
XprVector< E2, Cols > >,
Rows > 
tvmet::operator * (const Matrix< T1, Rows, Cols > &lhs, const XprVector< E2, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 Function for the matrix-vector-product.
template<class E1, class T2, std::size_t Rows, std::size_t Cols>
XprVector< XprMVProduct< XprMatrix<
E1, Rows, Cols >, Rows, Cols,
VectorConstReference< T2,
Cols > >, Rows > 
tvmet::operator * (const XprMatrix< E1, Rows, Cols > &lhs, const Vector< T2, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 Compute the product of an XprMatrix with a Vector.
template<class T1, std::size_t Rows, std::size_t Cols, class T2>
XprMatrix< XprBinOp< Fcnl_mod<
T1, T2 >, MatrixConstReference<
T1, Rows, Cols >, MatrixConstReference<
T2, Rows, Cols > >, Rows,
Cols > 
tvmet::element_wise::operator% (const Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class E, class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_mod<
typename E::value_type, T >,
XprMatrix< E, Rows, Cols >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::element_wise::operator% (const XprMatrix< E, Rows, Cols > &lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols, class E>
XprMatrix< XprBinOp< Fcnl_mod<
typename E::value_type, T >,
MatrixConstReference< T,
Rows, Cols >, XprMatrix<
E, Rows, Cols > >, Rows,
Cols > 
tvmet::element_wise::operator% (const Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, std::size_t Rows, std::size_t Cols, class T2>
XprMatrix< XprBinOp< Fcnl_bitxor<
T1, T2 >, MatrixConstReference<
T1, Rows, Cols >, MatrixConstReference<
T2, Rows, Cols > >, Rows,
Cols > 
tvmet::element_wise::operator^ (const Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class E, class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_bitxor<
typename E::value_type, T >,
XprMatrix< E, Rows, Cols >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::element_wise::operator^ (const XprMatrix< E, Rows, Cols > &lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols, class E>
XprMatrix< XprBinOp< Fcnl_bitxor<
typename E::value_type, T >,
MatrixConstReference< T,
Rows, Cols >, XprMatrix<
E, Rows, Cols > >, Rows,
Cols > 
tvmet::element_wise::operator^ (const Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, std::size_t Rows, std::size_t Cols, class T2>
XprMatrix< XprBinOp< Fcnl_bitand<
T1, T2 >, MatrixConstReference<
T1, Rows, Cols >, MatrixConstReference<
T2, Rows, Cols > >, Rows,
Cols > 
tvmet::element_wise::operator & (const Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class E, class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_bitand<
typename E::value_type, T >,
XprMatrix< E, Rows, Cols >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::element_wise::operator & (const XprMatrix< E, Rows, Cols > &lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols, class E>
XprMatrix< XprBinOp< Fcnl_bitand<
typename E::value_type, T >,
MatrixConstReference< T,
Rows, Cols >, XprMatrix<
E, Rows, Cols > >, Rows,
Cols > 
tvmet::element_wise::operator & (const Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, std::size_t Rows, std::size_t Cols, class T2>
XprMatrix< XprBinOp< Fcnl_bitor<
T1, T2 >, MatrixConstReference<
T1, Rows, Cols >, MatrixConstReference<
T2, Rows, Cols > >, Rows,
Cols > 
tvmet::element_wise::operator| (const Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class E, class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_bitor<
typename E::value_type, T >,
XprMatrix< E, Rows, Cols >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::element_wise::operator| (const XprMatrix< E, Rows, Cols > &lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols, class E>
XprMatrix< XprBinOp< Fcnl_bitor<
typename E::value_type, T >,
MatrixConstReference< T,
Rows, Cols >, XprMatrix<
E, Rows, Cols > >, Rows,
Cols > 
tvmet::element_wise::operator| (const Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, std::size_t Rows, std::size_t Cols, class T2>
XprMatrix< XprBinOp< Fcnl_shl<
T1, T2 >, MatrixConstReference<
T1, Rows, Cols >, MatrixConstReference<
T2, Rows, Cols > >, Rows,
Cols > 
tvmet::element_wise::operator<< (const Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class E, class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_shl<
typename E::value_type, T >,
XprMatrix< E, Rows, Cols >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::element_wise::operator<< (const XprMatrix< E, Rows, Cols > &lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols, class E>
XprMatrix< XprBinOp< Fcnl_shl<
typename E::value_type, T >,
MatrixConstReference< T,
Rows, Cols >, XprMatrix<
E, Rows, Cols > >, Rows,
Cols > 
tvmet::element_wise::operator<< (const Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, std::size_t Rows, std::size_t Cols, class T2>
XprMatrix< XprBinOp< Fcnl_shr<
T1, T2 >, MatrixConstReference<
T1, Rows, Cols >, MatrixConstReference<
T2, Rows, Cols > >, Rows,
Cols > 
tvmet::element_wise::operator>> (const Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class E, class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_shr<
typename E::value_type, T >,
XprMatrix< E, Rows, Cols >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::element_wise::operator>> (const XprMatrix< E, Rows, Cols > &lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols, class E>
XprMatrix< XprBinOp< Fcnl_shr<
typename E::value_type, T >,
MatrixConstReference< T,
Rows, Cols >, XprMatrix<
E, Rows, Cols > >, Rows,
Cols > 
tvmet::element_wise::operator>> (const Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, std::size_t Rows, std::size_t Cols, class T2>
XprMatrix< XprBinOp< Fcnl_greater<
T1, T2 >, MatrixConstReference<
T1, Rows, Cols >, MatrixConstReference<
T2, Rows, Cols > >, Rows,
Cols > 
tvmet::operator> (const Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class E, class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater<
typename E::value_type, T >,
XprMatrix< E, Rows, Cols >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator> (const XprMatrix< E, Rows, Cols > &lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols, class E>
XprMatrix< XprBinOp< Fcnl_greater<
typename E::value_type, T >,
MatrixConstReference< T,
Rows, Cols >, XprMatrix<
E, Rows, Cols > >, Rows,
Cols > 
tvmet::operator> (const Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, std::size_t Rows, std::size_t Cols, class T2>
XprMatrix< XprBinOp< Fcnl_less<
T1, T2 >, MatrixConstReference<
T1, Rows, Cols >, MatrixConstReference<
T2, Rows, Cols > >, Rows,
Cols > 
tvmet::operator< (const Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class E, class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less<
typename E::value_type, T >,
XprMatrix< E, Rows, Cols >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator< (const XprMatrix< E, Rows, Cols > &lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols, class E>
XprMatrix< XprBinOp< Fcnl_less<
typename E::value_type, T >,
MatrixConstReference< T,
Rows, Cols >, XprMatrix<
E, Rows, Cols > >, Rows,
Cols > 
tvmet::operator< (const Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, std::size_t Rows, std::size_t Cols, class T2>
XprMatrix< XprBinOp< Fcnl_greater_eq<
T1, T2 >, MatrixConstReference<
T1, Rows, Cols >, MatrixConstReference<
T2, Rows, Cols > >, Rows,
Cols > 
tvmet::operator>= (const Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class E, class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater_eq<
typename E::value_type, T >,
XprMatrix< E, Rows, Cols >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator>= (const XprMatrix< E, Rows, Cols > &lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols, class E>
XprMatrix< XprBinOp< Fcnl_greater_eq<
typename E::value_type, T >,
MatrixConstReference< T,
Rows, Cols >, XprMatrix<
E, Rows, Cols > >, Rows,
Cols > 
tvmet::operator>= (const Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, std::size_t Rows, std::size_t Cols, class T2>
XprMatrix< XprBinOp< Fcnl_less_eq<
T1, T2 >, MatrixConstReference<
T1, Rows, Cols >, MatrixConstReference<
T2, Rows, Cols > >, Rows,
Cols > 
tvmet::operator<= (const Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class E, class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less_eq<
typename E::value_type, T >,
XprMatrix< E, Rows, Cols >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator<= (const XprMatrix< E, Rows, Cols > &lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols, class E>
XprMatrix< XprBinOp< Fcnl_less_eq<
typename E::value_type, T >,
MatrixConstReference< T,
Rows, Cols >, XprMatrix<
E, Rows, Cols > >, Rows,
Cols > 
tvmet::operator<= (const Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, std::size_t Rows, std::size_t Cols, class T2>
XprMatrix< XprBinOp< Fcnl_eq<
T1, T2 >, MatrixConstReference<
T1, Rows, Cols >, MatrixConstReference<
T2, Rows, Cols > >, Rows,
Cols > 
tvmet::operator== (const Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class E, class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_eq<
typename E::value_type, T >,
XprMatrix< E, Rows, Cols >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator== (const XprMatrix< E, Rows, Cols > &lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols, class E>
XprMatrix< XprBinOp< Fcnl_eq<
typename E::value_type, T >,
MatrixConstReference< T,
Rows, Cols >, XprMatrix<
E, Rows, Cols > >, Rows,
Cols > 
tvmet::operator== (const Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, std::size_t Rows, std::size_t Cols, class T2>
XprMatrix< XprBinOp< Fcnl_not_eq<
T1, T2 >, MatrixConstReference<
T1, Rows, Cols >, MatrixConstReference<
T2, Rows, Cols > >, Rows,
Cols > 
tvmet::operator!= (const Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class E, class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_not_eq<
typename E::value_type, T >,
XprMatrix< E, Rows, Cols >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator!= (const XprMatrix< E, Rows, Cols > &lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols, class E>
XprMatrix< XprBinOp< Fcnl_not_eq<
typename E::value_type, T >,
MatrixConstReference< T,
Rows, Cols >, XprMatrix<
E, Rows, Cols > >, Rows,
Cols > 
tvmet::operator!= (const Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, std::size_t Rows, std::size_t Cols, class T2>
XprMatrix< XprBinOp< Fcnl_and<
T1, T2 >, MatrixConstReference<
T1, Rows, Cols >, MatrixConstReference<
T2, Rows, Cols > >, Rows,
Cols > 
tvmet::operator && (const Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class E, class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_and<
typename E::value_type, T >,
XprMatrix< E, Rows, Cols >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator && (const XprMatrix< E, Rows, Cols > &lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols, class E>
XprMatrix< XprBinOp< Fcnl_and<
typename E::value_type, T >,
MatrixConstReference< T,
Rows, Cols >, XprMatrix<
E, Rows, Cols > >, Rows,
Cols > 
tvmet::operator && (const Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T1, std::size_t Rows, std::size_t Cols, class T2>
XprMatrix< XprBinOp< Fcnl_or<
T1, T2 >, MatrixConstReference<
T1, Rows, Cols >, MatrixConstReference<
T2, Rows, Cols > >, Rows,
Cols > 
tvmet::operator|| (const Matrix< T1, Rows, Cols > &lhs, const Matrix< T2, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class E, class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_or<
typename E::value_type, T >,
XprMatrix< E, Rows, Cols >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator|| (const XprMatrix< E, Rows, Cols > &lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols, class E>
XprMatrix< XprBinOp< Fcnl_or<
typename E::value_type, T >,
MatrixConstReference< T,
Rows, Cols >, XprMatrix<
E, Rows, Cols > >, Rows,
Cols > 
tvmet::operator|| (const Matrix< T, Rows, Cols > &lhs, const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater<
std::complex< T >, std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols >, XprLiteral< std::complex<
T > > >, Rows, Cols > 
tvmet::operator> (const Matrix< std::complex< T >, Rows, Cols > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater<
std::complex< T >, std::complex<
T > >, XprLiteral< std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols > >, Rows, Cols > 
tvmet::operator> (const std::complex< T > &lhs, const Matrix< std::complex< T >, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less<
std::complex< T >, std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols >, XprLiteral< std::complex<
T > > >, Rows, Cols > 
tvmet::operator< (const Matrix< std::complex< T >, Rows, Cols > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less<
std::complex< T >, std::complex<
T > >, XprLiteral< std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols > >, Rows, Cols > 
tvmet::operator< (const std::complex< T > &lhs, const Matrix< std::complex< T >, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater_eq<
std::complex< T >, std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols >, XprLiteral< std::complex<
T > > >, Rows, Cols > 
tvmet::operator>= (const Matrix< std::complex< T >, Rows, Cols > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater_eq<
std::complex< T >, std::complex<
T > >, XprLiteral< std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols > >, Rows, Cols > 
tvmet::operator>= (const std::complex< T > &lhs, const Matrix< std::complex< T >, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less_eq<
std::complex< T >, std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols >, XprLiteral< std::complex<
T > > >, Rows, Cols > 
tvmet::operator<= (const Matrix< std::complex< T >, Rows, Cols > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less_eq<
std::complex< T >, std::complex<
T > >, XprLiteral< std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols > >, Rows, Cols > 
tvmet::operator<= (const std::complex< T > &lhs, const Matrix< std::complex< T >, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_eq<
std::complex< T >, std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols >, XprLiteral< std::complex<
T > > >, Rows, Cols > 
tvmet::operator== (const Matrix< std::complex< T >, Rows, Cols > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_eq<
std::complex< T >, std::complex<
T > >, XprLiteral< std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols > >, Rows, Cols > 
tvmet::operator== (const std::complex< T > &lhs, const Matrix< std::complex< T >, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_not_eq<
std::complex< T >, std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols >, XprLiteral< std::complex<
T > > >, Rows, Cols > 
tvmet::operator!= (const Matrix< std::complex< T >, Rows, Cols > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_not_eq<
std::complex< T >, std::complex<
T > >, XprLiteral< std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols > >, Rows, Cols > 
tvmet::operator!= (const std::complex< T > &lhs, const Matrix< std::complex< T >, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_and<
std::complex< T >, std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols >, XprLiteral< std::complex<
T > > >, Rows, Cols > 
tvmet::operator && (const Matrix< std::complex< T >, Rows, Cols > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_and<
std::complex< T >, std::complex<
T > >, XprLiteral< std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols > >, Rows, Cols > 
tvmet::operator && (const std::complex< T > &lhs, const Matrix< std::complex< T >, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_or<
std::complex< T >, std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols >, XprLiteral< std::complex<
T > > >, Rows, Cols > 
tvmet::operator|| (const Matrix< std::complex< T >, Rows, Cols > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_or<
std::complex< T >, std::complex<
T > >, XprLiteral< std::complex<
T > >, MatrixConstReference<
std::complex< T >, Rows,
Cols > >, Rows, Cols > 
tvmet::operator|| (const std::complex< T > &lhs, const Matrix< std::complex< T >, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_mod<
T, int >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
int > >, Rows, Cols > 
tvmet::element_wise::operator% (const Matrix< T, Rows, Cols > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_mod<
int, T >, XprLiteral< int >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::element_wise::operator% (int lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_bitxor<
T, int >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
int > >, Rows, Cols > 
tvmet::element_wise::operator^ (const Matrix< T, Rows, Cols > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_bitxor<
int, T >, XprLiteral< int >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::element_wise::operator^ (int lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_bitand<
T, int >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
int > >, Rows, Cols > 
tvmet::element_wise::operator & (const Matrix< T, Rows, Cols > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_bitand<
int, T >, XprLiteral< int >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::element_wise::operator & (int lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_bitor<
T, int >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
int > >, Rows, Cols > 
tvmet::element_wise::operator| (const Matrix< T, Rows, Cols > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_bitor<
int, T >, XprLiteral< int >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::element_wise::operator| (int lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_shl<
T, int >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
int > >, Rows, Cols > 
tvmet::element_wise::operator<< (const Matrix< T, Rows, Cols > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_shl<
int, T >, XprLiteral< int >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::element_wise::operator<< (int lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_shr<
T, int >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
int > >, Rows, Cols > 
tvmet::element_wise::operator>> (const Matrix< T, Rows, Cols > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_shr<
int, T >, XprLiteral< int >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::element_wise::operator>> (int lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater<
T, int >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
int > >, Rows, Cols > 
tvmet::operator> (const Matrix< T, Rows, Cols > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater<
int, T >, XprLiteral< int >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator> (int lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less<
T, int >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
int > >, Rows, Cols > 
tvmet::operator< (const Matrix< T, Rows, Cols > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less<
int, T >, XprLiteral< int >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator< (int lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater_eq<
T, int >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
int > >, Rows, Cols > 
tvmet::operator>= (const Matrix< T, Rows, Cols > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater_eq<
int, T >, XprLiteral< int >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator>= (int lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less_eq<
T, int >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
int > >, Rows, Cols > 
tvmet::operator<= (const Matrix< T, Rows, Cols > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less_eq<
int, T >, XprLiteral< int >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator<= (int lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_eq<
T, int >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
int > >, Rows, Cols > 
tvmet::operator== (const Matrix< T, Rows, Cols > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_eq<
int, T >, XprLiteral< int >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator== (int lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_not_eq<
T, int >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
int > >, Rows, Cols > 
tvmet::operator!= (const Matrix< T, Rows, Cols > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_not_eq<
int, T >, XprLiteral< int >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator!= (int lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_and<
T, int >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
int > >, Rows, Cols > 
tvmet::operator && (const Matrix< T, Rows, Cols > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_and<
int, T >, XprLiteral< int >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator && (int lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_or<
T, int >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
int > >, Rows, Cols > 
tvmet::operator|| (const Matrix< T, Rows, Cols > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_or<
int, T >, XprLiteral< int >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator|| (int lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater<
T, float >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
float > >, Rows, Cols > 
tvmet::operator> (const Matrix< T, Rows, Cols > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater<
float, T >, XprLiteral< float >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator> (float lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less<
T, float >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
float > >, Rows, Cols > 
tvmet::operator< (const Matrix< T, Rows, Cols > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less<
float, T >, XprLiteral< float >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator< (float lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater_eq<
T, float >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
float > >, Rows, Cols > 
tvmet::operator>= (const Matrix< T, Rows, Cols > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater_eq<
float, T >, XprLiteral< float >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator>= (float lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less_eq<
T, float >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
float > >, Rows, Cols > 
tvmet::operator<= (const Matrix< T, Rows, Cols > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less_eq<
float, T >, XprLiteral< float >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator<= (float lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_eq<
T, float >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
float > >, Rows, Cols > 
tvmet::operator== (const Matrix< T, Rows, Cols > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_eq<
float, T >, XprLiteral< float >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator== (float lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_not_eq<
T, float >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
float > >, Rows, Cols > 
tvmet::operator!= (const Matrix< T, Rows, Cols > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_not_eq<
float, T >, XprLiteral< float >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator!= (float lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_and<
T, float >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
float > >, Rows, Cols > 
tvmet::operator && (const Matrix< T, Rows, Cols > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_and<
float, T >, XprLiteral< float >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator && (float lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_or<
T, float >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
float > >, Rows, Cols > 
tvmet::operator|| (const Matrix< T, Rows, Cols > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_or<
float, T >, XprLiteral< float >,
MatrixConstReference< T,
Rows, Cols > >, Rows, Cols > 
tvmet::operator|| (float lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater<
T, double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
double > >, Rows, Cols > 
tvmet::operator> (const Matrix< T, Rows, Cols > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater<
double, T >, XprLiteral<
double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator> (double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less<
T, double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
double > >, Rows, Cols > 
tvmet::operator< (const Matrix< T, Rows, Cols > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less<
double, T >, XprLiteral<
double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator< (double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater_eq<
T, double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
double > >, Rows, Cols > 
tvmet::operator>= (const Matrix< T, Rows, Cols > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater_eq<
double, T >, XprLiteral<
double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator>= (double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less_eq<
T, double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
double > >, Rows, Cols > 
tvmet::operator<= (const Matrix< T, Rows, Cols > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less_eq<
double, T >, XprLiteral<
double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator<= (double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_eq<
T, double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
double > >, Rows, Cols > 
tvmet::operator== (const Matrix< T, Rows, Cols > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_eq<
double, T >, XprLiteral<
double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator== (double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_not_eq<
T, double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
double > >, Rows, Cols > 
tvmet::operator!= (const Matrix< T, Rows, Cols > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_not_eq<
double, T >, XprLiteral<
double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator!= (double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_and<
T, double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
double > >, Rows, Cols > 
tvmet::operator && (const Matrix< T, Rows, Cols > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_and<
double, T >, XprLiteral<
double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator && (double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_or<
T, double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
double > >, Rows, Cols > 
tvmet::operator|| (const Matrix< T, Rows, Cols > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_or<
double, T >, XprLiteral<
double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator|| (double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater<
T, long double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
long double > >, Rows, Cols > 
tvmet::operator> (const Matrix< T, Rows, Cols > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater<
long double, T >, XprLiteral<
long double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator> (long double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less<
T, long double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
long double > >, Rows, Cols > 
tvmet::operator< (const Matrix< T, Rows, Cols > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less<
long double, T >, XprLiteral<
long double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator< (long double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater_eq<
T, long double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
long double > >, Rows, Cols > 
tvmet::operator>= (const Matrix< T, Rows, Cols > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_greater_eq<
long double, T >, XprLiteral<
long double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator>= (long double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less_eq<
T, long double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
long double > >, Rows, Cols > 
tvmet::operator<= (const Matrix< T, Rows, Cols > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_less_eq<
long double, T >, XprLiteral<
long double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator<= (long double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_eq<
T, long double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
long double > >, Rows, Cols > 
tvmet::operator== (const Matrix< T, Rows, Cols > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_eq<
long double, T >, XprLiteral<
long double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator== (long double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_not_eq<
T, long double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
long double > >, Rows, Cols > 
tvmet::operator!= (const Matrix< T, Rows, Cols > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_not_eq<
long double, T >, XprLiteral<
long double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator!= (long double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_and<
T, long double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
long double > >, Rows, Cols > 
tvmet::operator && (const Matrix< T, Rows, Cols > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_and<
long double, T >, XprLiteral<
long double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator && (long double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_or<
T, long double >, MatrixConstReference<
T, Rows, Cols >, XprLiteral<
long double > >, Rows, Cols > 
tvmet::operator|| (const Matrix< T, Rows, Cols > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprBinOp< Fcnl_or<
long double, T >, XprLiteral<
long double >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator|| (long double lhs, const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_not<
T >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator! (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_compl<
T >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator~ (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_neg<
T >, MatrixConstReference<
T, Rows, Cols > >, Rows,
Cols > 
tvmet::operator- (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE


Define Documentation

#define TVMET_DECLARE_MACRO ( NAME,
OP   ) 

Value:

template <class T, std::size_t Rows, std::size_t Cols>      \
XprMatrix<                \
  XprUnOp<                \
    Fcnl_##NAME<T>,             \
    MatrixConstReference<T, Rows, Cols>         \
  >,                  \
  Rows, Cols                \
>                 \
operator OP (const Matrix<T, Rows, Cols>& rhs) TVMET_CXX_ALWAYS_INLINE;

#define TVMET_DECLARE_MACRO ( NAME,
OP,
TP   ) 

Value:

template<class T, std::size_t Rows, std::size_t Cols>       \
XprMatrix<                  \
  XprBinOp<                 \
    Fcnl_##NAME<T, TP >,              \
    MatrixConstReference<T, Rows, Cols>,          \
    XprLiteral<TP >               \
  >,                    \
  Rows, Cols                  \
>                   \
operator OP (const Matrix<T, Rows, Cols>& lhs, TP rhs) TVMET_CXX_ALWAYS_INLINE; \
                    \
template<class T, std::size_t Rows, std::size_t Cols>       \
XprMatrix<                  \
  XprBinOp<                 \
    Fcnl_##NAME< TP, T>,              \
    XprLiteral< TP >,               \
    MatrixConstReference<T, Rows, Cols>           \
  >,                    \
  Rows, Cols                  \
>                   \
operator OP (TP lhs, const Matrix<T, Rows, Cols>& rhs) TVMET_CXX_ALWAYS_INLINE;

#define TVMET_DECLARE_MACRO ( NAME,
OP   ) 

Value:

template<class T, std::size_t Rows, std::size_t Cols>         \
XprMatrix<                    \
  XprBinOp<                   \
    Fcnl_##NAME< std::complex<T>, std::complex<T> >,          \
    MatrixConstReference< std::complex<T>, Rows, Cols>,         \
    XprLiteral<std::complex<T> >              \
  >,                      \
  Rows, Cols                    \
>                     \
operator OP (const Matrix< std::complex<T>, Rows, Cols>& lhs,       \
       const std::complex<T>& rhs) TVMET_CXX_ALWAYS_INLINE;     \
                      \
template<class T, std::size_t Rows, std::size_t Cols>         \
XprMatrix<                    \
  XprBinOp<                   \
    Fcnl_##NAME< std::complex<T>, std::complex<T> >,          \
    XprLiteral< std::complex<T> >,              \
    MatrixConstReference< std::complex<T>, Rows, Cols>          \
  >,                      \
  Rows, Cols                    \
>                     \
operator OP (const std::complex<T>& lhs,            \
       const Matrix< std::complex<T>, Rows, Cols>& rhs) TVMET_CXX_ALWAYS_INLINE;

#define TVMET_DECLARE_MACRO ( NAME,
OP   ) 

#define TVMET_DECLARE_MACRO ( NAME,
OP   ) 

Value:

template<class T, std::size_t Rows, std::size_t Cols>         \
XprMatrix<                    \
  XprBinOp<                   \
    Fcnl_##NAME< std::complex<T>, std::complex<T> >,          \
    MatrixConstReference< std::complex<T>, Rows, Cols>,         \
    XprLiteral<std::complex<T> >              \
  >,                      \
  Rows, Cols                    \
>                     \
operator OP (const Matrix< std::complex<T>, Rows, Cols>& lhs,       \
       const std::complex<T>& rhs) TVMET_CXX_ALWAYS_INLINE;     \
                      \
template<class T, std::size_t Rows, std::size_t Cols>         \
XprMatrix<                    \
  XprBinOp<                   \
    Fcnl_##NAME< std::complex<T>, std::complex<T> >,          \
    XprLiteral< std::complex<T> >,              \
    MatrixConstReference< std::complex<T>, Rows, Cols>          \
  >,                      \
  Rows, Cols                    \
>                     \
operator OP (const std::complex<T>& lhs,            \
       const Matrix< std::complex<T>, Rows, Cols>& rhs) TVMET_CXX_ALWAYS_INLINE;

#define TVMET_DECLARE_MACRO ( NAME,
OP,
POD   ) 

Value:

template<class T, std::size_t Rows, std::size_t Cols>     \
XprMatrix<                \
  XprBinOp<               \
    Fcnl_##NAME<T, POD >,           \
    MatrixConstReference<T, Rows, Cols>,        \
    XprLiteral<POD >              \
  >,                  \
  Rows, Cols                \
>                 \
operator OP (const Matrix<T, Rows, Cols>& lhs,        \
       POD rhs) TVMET_CXX_ALWAYS_INLINE;        \
                  \
template<class T, std::size_t Rows, std::size_t Cols>     \
XprMatrix<                \
  XprBinOp<               \
    Fcnl_##NAME< POD, T>,           \
    XprLiteral< POD >,              \
    MatrixConstReference<T, Rows, Cols>         \
  >,                  \
  Rows, Cols                \
>                 \
operator OP (POD lhs,               \
       const Matrix<T, Rows, Cols>& rhs) TVMET_CXX_ALWAYS_INLINE;

#define TVMET_DECLARE_MACRO ( NAME,
OP   ) 

#define TVMET_DECLARE_MACRO ( NAME,
OP   ) 

Value:

template<class T1, class T2, std::size_t Rows, std::size_t Cols>    \
Matrix<T1, Rows, Cols>&               \
operator OP (Matrix<T1, Rows, Cols>& lhs,           \
       const Matrix<T2, Rows, Cols>& rhs) TVMET_CXX_ALWAYS_INLINE;  \
                    \
template<class T, class E, std::size_t Rows,  std::size_t Cols>     \
Matrix<T, Rows, Cols>&                \
operator OP (Matrix<T, Rows, Cols>& lhs,          \
       const XprMatrix<E, Rows, Cols>& rhs) TVMET_CXX_ALWAYS_INLINE;

#define TVMET_IMPLEMENT_MACRO ( NAME,
OP   ) 

Value:

template <class T, std::size_t Rows, std::size_t Cols>           \
inline                       \
XprMatrix<                     \
  XprUnOp<                     \
    Fcnl_##NAME<T>,                  \
    MatrixConstReference<T, Rows, Cols>              \
  >,                       \
  Rows, Cols                     \
>                      \
operator OP (const Matrix<T, Rows, Cols>& rhs) {           \
  typedef XprUnOp<                   \
    Fcnl_##NAME<T>,                  \
    MatrixConstReference<T, Rows, Cols>              \
  >                expr_type;    \
  return XprMatrix<expr_type, Rows, Cols>(expr_type(rhs.const_ref())); \
}

#define TVMET_IMPLEMENT_MACRO ( NAME,
OP,
TP   ) 

#define TVMET_IMPLEMENT_MACRO ( NAME,
OP   ) 

#define TVMET_IMPLEMENT_MACRO ( NAME,
OP   ) 

#define TVMET_IMPLEMENT_MACRO ( NAME,
OP   ) 

Value:

template<class T, std::size_t Rows, std::size_t Cols>   \
inline                \
XprMatrix<              \
  XprBinOp<             \
    Fcnl_##NAME< std::complex<T>, std::complex<T> >,    \
    MatrixConstReference< std::complex<T>, Rows, Cols>,   \
    XprLiteral<std::complex<T> >        \
  >,                \
  Rows, Cols              \
>               \
operator OP (const Matrix< std::complex<T>, Rows, Cols>& lhs, \
       const std::complex<T>& rhs) {      \
  return NAME (lhs, rhs);         \
}               \
                \
template<class T, std::size_t Rows, std::size_t Cols>   \
inline                \
XprMatrix<              \
  XprBinOp<             \
    Fcnl_##NAME< std::complex<T>, std::complex<T> >,    \
    XprLiteral< std::complex<T> >,        \
    MatrixConstReference< std::complex<T>, Rows, Cols>    \
  >,                \
  Rows, Cols              \
>               \
operator OP (const std::complex<T>& lhs,      \
       const Matrix< std::complex<T>, Rows, Cols>& rhs) { \
  return NAME (lhs, rhs);         \
}

#define TVMET_IMPLEMENT_MACRO ( NAME,
OP,
POD   ) 

Value:

template<class T, std::size_t Rows, std::size_t Cols>   \
inline                \
XprMatrix<              \
  XprBinOp<             \
    Fcnl_##NAME<T, POD >,         \
    MatrixConstReference<T, Rows, Cols>,      \
    XprLiteral<POD >            \
  >,                \
  Rows, Cols              \
>               \
operator OP (const Matrix<T, Rows, Cols>& lhs, POD rhs) { \
  return NAME (lhs, rhs);         \
}               \
                \
template<class T, std::size_t Rows, std::size_t Cols>   \
inline                \
XprMatrix<              \
  XprBinOp<             \
    Fcnl_##NAME< POD, T>,         \
    XprLiteral< POD >,            \
    MatrixConstReference<T, Rows, Cols>       \
  >,                \
  Rows, Cols              \
>               \
operator OP (POD lhs, const Matrix<T, Rows, Cols>& rhs) { \
  return NAME (lhs, rhs);         \
}

#define TVMET_IMPLEMENT_MACRO ( NAME,
OP   ) 

#define TVMET_IMPLEMENT_MACRO ( NAME,
OP   ) 

Value:

template<class T1, class T2, std::size_t Rows, std::size_t Cols>    \
inline                    \
Matrix<T1, Rows, Cols>&               \
operator OP (Matrix<T1, Rows, Cols>& lhs, const Matrix<T2, Rows, Cols>& rhs) {  \
  return lhs.M_##NAME(rhs);             \
}                   \
                    \
template<class T, class E, std::size_t Rows,  std::size_t Cols>     \
inline                    \
Matrix<T, Rows, Cols>&                \
operator OP (Matrix<T, Rows, Cols>& lhs, const XprMatrix<E, Rows, Cols>& rhs) { \
  return lhs.M_##NAME(rhs);             \
}


Author: