|
Tiny Vector Matrix library using Expression Templates | Sourceforge Project Page |
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, POD) |
#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_DECLARE_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, TP) |
#define | TVMET_IMPLEMENT_MACRO(NAME, OP) |
#define | TVMET_IMPLEMENT_MACRO(NAME, OP) |
Functions | |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_add < typename E1::value_type, typename E2::value_type > , XprVector< E1, Sz > , XprVector< E2, Sz > >, Sz > | tvmet::operator+ (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Addition operator for two XprVector. | |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_sub < typename E1::value_type, typename E2::value_type > , XprVector< E1, Sz > , XprVector< E2, Sz > >, Sz > | tvmet::operator- (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Subtraction operator for two XprVector. | |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_mul < typename E1::value_type, typename E2::value_type > , XprVector< E1, Sz > , XprVector< E2, Sz > >, Sz > | tvmet::operator* (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Multliply operator for two XprVector. | |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_div < typename E1::value_type, typename E2::value_type > , XprVector< E1, Sz > , XprVector< E2, Sz > >, Sz > | tvmet::element_wise::operator/ (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_add < typename E::value_type, int > , XprVector< E, Sz > , XprLiteral< int > >, Sz > | tvmet::operator+ (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_add < int, typename E::value_type > , XprLiteral< int >, XprVector < E, Sz > >, Sz > | tvmet::operator+ (int lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_sub < typename E::value_type, int > , XprVector< E, Sz > , XprLiteral< int > >, Sz > | tvmet::operator- (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_sub < int, typename E::value_type > , XprLiteral< int >, XprVector < E, Sz > >, Sz > | tvmet::operator- (int lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_mul < typename E::value_type, int > , XprVector< E, Sz > , XprLiteral< int > >, Sz > | tvmet::operator* (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_mul < int, typename E::value_type > , XprLiteral< int >, XprVector < E, Sz > >, Sz > | tvmet::operator* (int lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_div < typename E::value_type, int > , XprVector< E, Sz > , XprLiteral< int > >, Sz > | tvmet::operator/ (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_div < int, typename E::value_type > , XprLiteral< int >, XprVector < E, Sz > >, Sz > | tvmet::operator/ (int lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_add < typename E::value_type, float >, XprVector< E, Sz > , XprLiteral< float > >, Sz > | tvmet::operator+ (const XprVector< E, Sz > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_add < float, typename E::value_type >, XprLiteral < float >, XprVector< E, Sz > >, Sz > | tvmet::operator+ (float lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_sub < typename E::value_type, float >, XprVector< E, Sz > , XprLiteral< float > >, Sz > | tvmet::operator- (const XprVector< E, Sz > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_sub < float, typename E::value_type >, XprLiteral < float >, XprVector< E, Sz > >, Sz > | tvmet::operator- (float lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_mul < typename E::value_type, float >, XprVector< E, Sz > , XprLiteral< float > >, Sz > | tvmet::operator* (const XprVector< E, Sz > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_mul < float, typename E::value_type >, XprLiteral < float >, XprVector< E, Sz > >, Sz > | tvmet::operator* (float lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_div < typename E::value_type, float >, XprVector< E, Sz > , XprLiteral< float > >, Sz > | tvmet::operator/ (const XprVector< E, Sz > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_div < float, typename E::value_type >, XprLiteral < float >, XprVector< E, Sz > >, Sz > | tvmet::operator/ (float lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_add < typename E::value_type, double >, XprVector< E, Sz > , XprLiteral< double > >, Sz > | tvmet::operator+ (const XprVector< E, Sz > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_add < double, typename E::value_type >, XprLiteral < double >, XprVector< E, Sz > >, Sz > | tvmet::operator+ (double lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_sub < typename E::value_type, double >, XprVector< E, Sz > , XprLiteral< double > >, Sz > | tvmet::operator- (const XprVector< E, Sz > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_sub < double, typename E::value_type >, XprLiteral < double >, XprVector< E, Sz > >, Sz > | tvmet::operator- (double lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_mul < typename E::value_type, double >, XprVector< E, Sz > , XprLiteral< double > >, Sz > | tvmet::operator* (const XprVector< E, Sz > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_mul < double, typename E::value_type >, XprLiteral < double >, XprVector< E, Sz > >, Sz > | tvmet::operator* (double lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_div < typename E::value_type, double >, XprVector< E, Sz > , XprLiteral< double > >, Sz > | tvmet::operator/ (const XprVector< E, Sz > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_div < double, typename E::value_type >, XprLiteral < double >, XprVector< E, Sz > >, Sz > | tvmet::operator/ (double lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_add < typename E::value_type, long double >, XprVector< E, Sz > , XprLiteral< long double > >, Sz > | tvmet::operator+ (const XprVector< E, Sz > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_add < long double, typename E::value_type >, XprLiteral < long double >, XprVector< E, Sz > >, Sz > | tvmet::operator+ (long double lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_sub < typename E::value_type, long double >, XprVector< E, Sz > , XprLiteral< long double > >, Sz > | tvmet::operator- (const XprVector< E, Sz > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_sub < long double, typename E::value_type >, XprLiteral < long double >, XprVector< E, Sz > >, Sz > | tvmet::operator- (long double lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_mul < typename E::value_type, long double >, XprVector< E, Sz > , XprLiteral< long double > >, Sz > | tvmet::operator* (const XprVector< E, Sz > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_mul < long double, typename E::value_type >, XprLiteral < long double >, XprVector< E, Sz > >, Sz > | tvmet::operator* (long double lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_div < typename E::value_type, long double >, XprVector< E, Sz > , XprLiteral< long double > >, Sz > | tvmet::operator/ (const XprVector< E, Sz > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_div < long double, typename E::value_type >, XprLiteral < long double >, XprVector< E, Sz > >, Sz > | tvmet::operator/ (long double lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_add < typename E::value_type, std::complex< T > >, XprVector < E, Sz >, XprLiteral < std::complex< T > > >, Sz > | tvmet::operator+ (const XprVector< E, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_add < std::complex< T >, typename E::value_type >, XprLiteral < std::complex< T > >, XprVector< E, Sz > >, Sz > | tvmet::operator+ (const std::complex< T > &lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_sub < typename E::value_type, std::complex< T > >, XprVector < E, Sz >, XprLiteral < std::complex< T > > >, Sz > | tvmet::operator- (const XprVector< E, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_sub < std::complex< T >, typename E::value_type >, XprLiteral < std::complex< T > >, XprVector< E, Sz > >, Sz > | tvmet::operator- (const std::complex< T > &lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_mul < typename E::value_type, std::complex< T > >, XprVector < E, Sz >, XprLiteral < std::complex< T > > >, Sz > | tvmet::operator* (const XprVector< E, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_mul < std::complex< T >, typename E::value_type >, XprLiteral < std::complex< T > >, XprVector< E, Sz > >, Sz > | tvmet::operator* (const std::complex< T > &lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_div < typename E::value_type, std::complex< T > >, XprVector < E, Sz >, XprLiteral < std::complex< T > > >, Sz > | tvmet::operator/ (const XprVector< E, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_div < std::complex< T >, typename E::value_type >, XprLiteral < std::complex< T > >, XprVector< E, Sz > >, Sz > | tvmet::operator/ (const std::complex< T > &lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_mod < typename E1::value_type, typename E2::value_type > , XprVector< E1, Sz > , XprVector< E2, Sz > >, Sz > | tvmet::element_wise::operator% (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_bitxor< typename E1::value_type, typename E2::value_type >, XprVector < E1, Sz >, XprVector< E2, Sz > >, Sz > | tvmet::element_wise::operator^ (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_bitand< typename E1::value_type, typename E2::value_type >, XprVector < E1, Sz >, XprVector< E2, Sz > >, Sz > | tvmet::element_wise::operator & (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_bitor< typename E1::value_type, typename E2::value_type >, XprVector < E1, Sz >, XprVector< E2, Sz > >, Sz > | tvmet::element_wise::operator| (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_shl < typename E1::value_type, typename E2::value_type > , XprVector< E1, Sz > , XprVector< E2, Sz > >, Sz > | tvmet::element_wise::operator<< (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_shr < typename E1::value_type, typename E2::value_type > , XprVector< E1, Sz > , XprVector< E2, Sz > >, Sz > | tvmet::element_wise::operator>> (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_greater< typename E1::value_type, typename E2::value_type >, XprVector < E1, Sz >, XprVector< E2, Sz > >, Sz > | tvmet::operator> (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Bigger operator for two XprVector. | |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_less < typename E1::value_type, typename E2::value_type > , XprVector< E1, Sz > , XprVector< E2, Sz > >, Sz > | tvmet::operator< (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Lesser operator for two XprVector. | |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_greater_eq< typename E1::value_type, typename E2::value_type >, XprVector < E1, Sz >, XprVector< E2, Sz > >, Sz > | tvmet::operator>= (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Bigger Equal operator for two XprVector. | |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_less_eq< typename E1::value_type, typename E2::value_type >, XprVector < E1, Sz >, XprVector< E2, Sz > >, Sz > | tvmet::operator<= (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Less Equal operator for two XprVector. | |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_eq < typename E1::value_type, typename E2::value_type > , XprVector< E1, Sz > , XprVector< E2, Sz > >, Sz > | tvmet::operator== (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Equal operator for two XprVector. | |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_not_eq< typename E1::value_type, typename E2::value_type >, XprVector < E1, Sz >, XprVector< E2, Sz > >, Sz > | tvmet::operator!= (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Not Equal operator for two XprVector. | |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_and < typename E1::value_type, typename E2::value_type > , XprVector< E1, Sz > , XprVector< E2, Sz > >, Sz > | tvmet::operator && (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Logical AND operator for two XprVector. | |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_or < typename E1::value_type, typename E2::value_type > , XprVector< E1, Sz > , XprVector< E2, Sz > >, Sz > | tvmet::operator|| (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Logical OR operator for two XprVector. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_mod < typename E::value_type, int > , XprVector< E, Sz > , XprLiteral< int > >, Sz > | tvmet::element_wise::operator% (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_mod < int, typename E::value_type > , XprLiteral< int >, XprVector < E, Sz > >, Sz > | tvmet::element_wise::operator% (int lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_bitxor< typename E::value_type, int > , XprVector< E, Sz > , XprLiteral< int > >, Sz > | tvmet::element_wise::operator^ (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_bitxor< int, typename E::value_type >, XprLiteral < int >, XprVector< E, Sz > >, Sz > | tvmet::element_wise::operator^ (int lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_bitand< typename E::value_type, int > , XprVector< E, Sz > , XprLiteral< int > >, Sz > | tvmet::element_wise::operator & (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_bitand< int, typename E::value_type >, XprLiteral < int >, XprVector< E, Sz > >, Sz > | tvmet::element_wise::operator & (int lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_bitor< typename E::value_type, int > , XprVector< E, Sz > , XprLiteral< int > >, Sz > | tvmet::element_wise::operator| (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_bitor< int, typename E::value_type >, XprLiteral < int >, XprVector< E, Sz > >, Sz > | tvmet::element_wise::operator| (int lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_shl < typename E::value_type, int > , XprVector< E, Sz > , XprLiteral< int > >, Sz > | tvmet::element_wise::operator<< (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_shl < int, typename E::value_type > , XprLiteral< int >, XprVector < E, Sz > >, Sz > | tvmet::element_wise::operator<< (int lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_shr < typename E::value_type, int > , XprVector< E, Sz > , XprLiteral< int > >, Sz > | tvmet::element_wise::operator>> (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_shr < int, typename E::value_type > , XprLiteral< int >, XprVector < E, Sz > >, Sz > | tvmet::element_wise::operator>> (int lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_greater< typename E::value_type, int > , XprVector< E, Sz > , XprLiteral< int > >, Sz > | tvmet::operator> (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_greater< int, typename E::value_type >, XprLiteral < int >, XprVector< E, Sz > >, Sz > | tvmet::operator> (int lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_less < typename E::value_type, int > , XprVector< E, Sz > , XprLiteral< int > >, Sz > | tvmet::operator< (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_less < int, typename E::value_type > , XprLiteral< int >, XprVector < E, Sz > >, Sz > | tvmet::operator< (int lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_greater_eq< typename E::value_type, int > , XprVector< E, Sz > , XprLiteral< int > >, Sz > | tvmet::operator>= (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_greater_eq< int, typename E::value_type > , XprLiteral< int >, XprVector < E, Sz > >, Sz > | tvmet::operator>= (int lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_less_eq< typename E::value_type, int > , XprVector< E, Sz > , XprLiteral< int > >, Sz > | tvmet::operator<= (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_less_eq< int, typename E::value_type >, XprLiteral < int >, XprVector< E, Sz > >, Sz > | tvmet::operator<= (int lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_eq < typename E::value_type, int > , XprVector< E, Sz > , XprLiteral< int > >, Sz > | tvmet::operator== (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_eq < int, typename E::value_type > , XprLiteral< int >, XprVector < E, Sz > >, Sz > | tvmet::operator== (int lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_not_eq< typename E::value_type, int > , XprVector< E, Sz > , XprLiteral< int > >, Sz > | tvmet::operator!= (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_not_eq< int, typename E::value_type >, XprLiteral < int >, XprVector< E, Sz > >, Sz > | tvmet::operator!= (int lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_and < typename E::value_type, int > , XprVector< E, Sz > , XprLiteral< int > >, Sz > | tvmet::operator && (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
Logical AND operator between XprVector and int. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_and < int, typename E::value_type > , XprLiteral< int >, XprVector < E, Sz > >, Sz > | tvmet::operator && (int lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Logical AND operator between int and XprVector. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_or < typename E::value_type, int > , XprVector< E, Sz > , XprLiteral< int > >, Sz > | tvmet::operator|| (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
Logical OR operator between XprVector and int. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_or < int, typename E::value_type > , XprLiteral< int >, XprVector < E, Sz > >, Sz > | tvmet::operator|| (int lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Logical OR operator between int and XprVector. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_greater< typename E::value_type, float > , XprVector< E, Sz > , XprLiteral< float > >, Sz > | tvmet::operator> (const XprVector< E, Sz > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_greater< float, typename E::value_type > , XprLiteral< float > , XprVector< E, Sz > >, Sz > | tvmet::operator> (float lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_less < typename E::value_type, float >, XprVector< E, Sz > , XprLiteral< float > >, Sz > | tvmet::operator< (const XprVector< E, Sz > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_less < float, typename E::value_type >, XprLiteral < float >, XprVector< E, Sz > >, Sz > | tvmet::operator< (float lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_greater_eq< typename E::value_type, float > , XprVector< E, Sz > , XprLiteral< float > >, Sz > | tvmet::operator>= (const XprVector< E, Sz > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_greater_eq< float, typename E::value_type > , XprLiteral< float > , XprVector< E, Sz > >, Sz > | tvmet::operator>= (float lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_less_eq< typename E::value_type, float > , XprVector< E, Sz > , XprLiteral< float > >, Sz > | tvmet::operator<= (const XprVector< E, Sz > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_less_eq< float, typename E::value_type > , XprLiteral< float > , XprVector< E, Sz > >, Sz > | tvmet::operator<= (float lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_eq < typename E::value_type, float >, XprVector< E, Sz > , XprLiteral< float > >, Sz > | tvmet::operator== (const XprVector< E, Sz > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_eq < float, typename E::value_type >, XprLiteral < float >, XprVector< E, Sz > >, Sz > | tvmet::operator== (float lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_not_eq< typename E::value_type, float > , XprVector< E, Sz > , XprLiteral< float > >, Sz > | tvmet::operator!= (const XprVector< E, Sz > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_not_eq< float, typename E::value_type >, XprLiteral < float >, XprVector< E, Sz > >, Sz > | tvmet::operator!= (float lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_greater< typename E::value_type, double > , XprVector< E, Sz > , XprLiteral< double > >, Sz > | tvmet::operator> (const XprVector< E, Sz > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_greater< double, typename E::value_type > , XprLiteral< double > , XprVector< E, Sz > >, Sz > | tvmet::operator> (double lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_less < typename E::value_type, double >, XprVector< E, Sz > , XprLiteral< double > >, Sz > | tvmet::operator< (const XprVector< E, Sz > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_less < double, typename E::value_type >, XprLiteral < double >, XprVector< E, Sz > >, Sz > | tvmet::operator< (double lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_greater_eq< typename E::value_type, double > , XprVector< E, Sz > , XprLiteral< double > >, Sz > | tvmet::operator>= (const XprVector< E, Sz > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_greater_eq< double, typename E::value_type > , XprLiteral< double > , XprVector< E, Sz > >, Sz > | tvmet::operator>= (double lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_less_eq< typename E::value_type, double > , XprVector< E, Sz > , XprLiteral< double > >, Sz > | tvmet::operator<= (const XprVector< E, Sz > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_less_eq< double, typename E::value_type > , XprLiteral< double > , XprVector< E, Sz > >, Sz > | tvmet::operator<= (double lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_eq < typename E::value_type, double >, XprVector< E, Sz > , XprLiteral< double > >, Sz > | tvmet::operator== (const XprVector< E, Sz > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_eq < double, typename E::value_type >, XprLiteral < double >, XprVector< E, Sz > >, Sz > | tvmet::operator== (double lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_not_eq< typename E::value_type, double > , XprVector< E, Sz > , XprLiteral< double > >, Sz > | tvmet::operator!= (const XprVector< E, Sz > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_not_eq< double, typename E::value_type > , XprLiteral< double > , XprVector< E, Sz > >, Sz > | tvmet::operator!= (double lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_greater< typename E::value_type, long double > , XprVector< E, Sz > , XprLiteral< long double > >, Sz > | tvmet::operator> (const XprVector< E, Sz > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_greater< long double, typename E::value_type > , XprLiteral< long double > , XprVector< E, Sz > >, Sz > | tvmet::operator> (long double lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_less < typename E::value_type, long double >, XprVector< E, Sz > , XprLiteral< long double > >, Sz > | tvmet::operator< (const XprVector< E, Sz > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_less < long double, typename E::value_type >, XprLiteral < long double >, XprVector< E, Sz > >, Sz > | tvmet::operator< (long double lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_greater_eq< typename E::value_type, long double > , XprVector< E, Sz > , XprLiteral< long double > >, Sz > | tvmet::operator>= (const XprVector< E, Sz > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_greater_eq< long double, typename E::value_type > , XprLiteral< long double > , XprVector< E, Sz > >, Sz > | tvmet::operator>= (long double lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_less_eq< typename E::value_type, long double > , XprVector< E, Sz > , XprLiteral< long double > >, Sz > | tvmet::operator<= (const XprVector< E, Sz > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_less_eq< long double, typename E::value_type > , XprLiteral< long double > , XprVector< E, Sz > >, Sz > | tvmet::operator<= (long double lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_eq < typename E::value_type, long double >, XprVector< E, Sz > , XprLiteral< long double > >, Sz > | tvmet::operator== (const XprVector< E, Sz > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_eq < long double, typename E::value_type >, XprLiteral < long double >, XprVector< E, Sz > >, Sz > | tvmet::operator== (long double lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_not_eq< typename E::value_type, long double > , XprVector< E, Sz > , XprLiteral< long double > >, Sz > | tvmet::operator!= (const XprVector< E, Sz > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp < Fcnl_not_eq< long double, typename E::value_type > , XprLiteral< long double > , XprVector< E, Sz > >, Sz > | tvmet::operator!= (long double lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp < Fcnl_greater< typename E::value_type, std::complex< T > >, XprVector< E, Sz > , XprLiteral< std::complex< T > > >, Sz > | tvmet::operator> (const XprVector< E, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp < Fcnl_greater< std::complex < T >, typename E::value_type > , XprLiteral< std::complex< T > >, XprVector< E, Sz > >, Sz > | tvmet::operator> (const std::complex< T > &lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_less < typename E::value_type, std::complex< T > >, XprVector < E, Sz >, XprLiteral < std::complex< T > > >, Sz > | tvmet::operator< (const XprVector< E, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_less < std::complex< T >, typename E::value_type >, XprLiteral < std::complex< T > >, XprVector< E, Sz > >, Sz > | tvmet::operator< (const std::complex< T > &lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp < Fcnl_greater_eq< typename E::value_type, std::complex< T > >, XprVector< E, Sz > , XprLiteral< std::complex< T > > >, Sz > | tvmet::operator>= (const XprVector< E, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp < Fcnl_greater_eq < std::complex< T >, typename E::value_type >, XprLiteral < std::complex< T > >, XprVector< E, Sz > >, Sz > | tvmet::operator>= (const std::complex< T > &lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp < Fcnl_less_eq< typename E::value_type, std::complex< T > >, XprVector< E, Sz > , XprLiteral< std::complex< T > > >, Sz > | tvmet::operator<= (const XprVector< E, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp < Fcnl_less_eq< std::complex < T >, typename E::value_type > , XprLiteral< std::complex< T > >, XprVector< E, Sz > >, Sz > | tvmet::operator<= (const std::complex< T > &lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_eq < typename E::value_type, std::complex< T > >, XprVector < E, Sz >, XprLiteral < std::complex< T > > >, Sz > | tvmet::operator== (const XprVector< E, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_eq < std::complex< T >, typename E::value_type >, XprLiteral < std::complex< T > >, XprVector< E, Sz > >, Sz > | tvmet::operator== (const std::complex< T > &lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp < Fcnl_not_eq< typename E::value_type, std::complex< T > >, XprVector< E, Sz > , XprLiteral< std::complex< T > > >, Sz > | tvmet::operator!= (const XprVector< E, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp < Fcnl_not_eq< std::complex< T > , typename E::value_type > , XprLiteral< std::complex< T > >, XprVector< E, Sz > >, Sz > | tvmet::operator!= (const std::complex< T > &lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_and < typename E::value_type, std::complex< T > >, XprVector < E, Sz >, XprLiteral < std::complex< T > > >, Sz > | tvmet::operator && (const XprVector< E, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_and < std::complex< T >, typename E::value_type >, XprLiteral < std::complex< T > >, XprVector< E, Sz > >, Sz > | tvmet::operator && (const std::complex< T > &lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_or < typename E::value_type, std::complex< T > >, XprVector < E, Sz >, XprLiteral < std::complex< T > > >, Sz > | tvmet::operator|| (const XprVector< E, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_or < std::complex< T >, typename E::value_type >, XprLiteral < std::complex< T > >, XprVector< E, Sz > >, Sz > | tvmet::operator|| (const std::complex< T > &lhs, const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprUnOp< Fcnl_not < typename E::value_type > , XprVector< E, Sz > >, Sz > | tvmet::operator! (const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Logical Not operator for XprVector. | |
template<class E, std::size_t Sz> | |
XprVector< XprUnOp< Fcnl_compl < typename E::value_type > , XprVector< E, Sz > >, Sz > | tvmet::operator~ (const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Bitwise Not operator for XprVector. | |
template<class E, std::size_t Sz> | |
XprVector< XprUnOp< Fcnl_neg < typename E::value_type > , XprVector< E, Sz > >, Sz > | tvmet::operator- (const XprVector< E, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Negate operator for XprVector. |
#define TVMET_DECLARE_MACRO | ( | NAME, | |||
OP | ) |
Value:
template <class E, std::size_t Sz> \ inline \ XprVector< \ XprUnOp< \ Fcnl_##NAME<typename E::value_type>, \ XprVector<E, Sz> \ >, \ Sz \ > \ operator OP (const XprVector<E, Sz>& rhs) TVMET_CXX_ALWAYS_INLINE;
#define TVMET_DECLARE_MACRO | ( | NAME, | |||
OP | ) |
Value:
template<class E, std::size_t Sz, class T> \ inline \ XprVector< \ XprBinOp< \ Fcnl_##NAME<typename E::value_type, std::complex<T> >, \ XprVector<E, Sz>, \ XprLiteral< std::complex<T> > \ >, \ Sz \ > \ operator OP (const XprVector<E, Sz>& lhs, \ const std::complex<T>& rhs) TVMET_CXX_ALWAYS_INLINE; \ \ template<class E, std::size_t Sz, class T> \ inline \ XprVector< \ XprBinOp< \ Fcnl_##NAME<std::complex<T>, typename E::value_type>, \ XprLiteral< std::complex<T> >, \ XprVector<E, Sz> \ >, \ Sz \ > \ operator OP (const std::complex<T>& lhs, \ const XprVector<E, Sz>& rhs) TVMET_CXX_ALWAYS_INLINE;
#define TVMET_DECLARE_MACRO | ( | NAME, | |||
OP, | |||||
TP | ) |
Value:
template<class E, std::size_t Sz> \ inline \ XprVector< \ XprBinOp< \ Fcnl_##NAME<typename E::value_type, TP >, \ XprVector<E, Sz>, \ XprLiteral< TP > \ >, \ Sz \ > \ operator OP (const XprVector<E, Sz>& lhs, \ TP rhs) TVMET_CXX_ALWAYS_INLINE; \ \ template<class E, std::size_t Sz> \ inline \ XprVector< \ XprBinOp< \ Fcnl_##NAME<TP, typename E::value_type>, \ XprLiteral< TP >, \ XprVector<E, Sz> \ >, \ Sz \ > \ operator OP (TP lhs, \ const XprVector<E, Sz>& rhs) TVMET_CXX_ALWAYS_INLINE;
#define TVMET_DECLARE_MACRO | ( | NAME, | |||
OP | ) |
Value:
template<class E1, class E2, std::size_t Sz> \ inline \ XprVector< \ XprBinOp< \ Fcnl_##NAME<typename E1::value_type, typename E2::value_type>, \ XprVector<E1, Sz>, \ XprVector<E2, Sz> \ >, \ Sz \ > \ operator OP (const XprVector<E1, Sz>& lhs, \ const XprVector<E2, Sz>& rhs) TVMET_CXX_ALWAYS_INLINE;
#define TVMET_DECLARE_MACRO | ( | NAME, | |||
OP | ) |
Value:
template<class E, std::size_t Sz, class T> \ inline \ XprVector< \ XprBinOp< \ Fcnl_##NAME<typename E::value_type, std::complex<T> >, \ XprVector<E, Sz>, \ XprLiteral< std::complex<T> > \ >, \ Sz \ > \ operator OP (const XprVector<E, Sz>& lhs, \ const std::complex<T>& rhs) TVMET_CXX_ALWAYS_INLINE; \ \ template<class E, std::size_t Sz, class T> \ inline \ XprVector< \ XprBinOp< \ Fcnl_##NAME< std::complex<T>, typename E::value_type >, \ XprLiteral< std::complex<T> >, \ XprVector< E, Sz> \ >, \ Sz \ > \ operator OP (const std::complex<T>& lhs, \ const XprVector<E, Sz>& rhs) TVMET_CXX_ALWAYS_INLINE;
#define TVMET_DECLARE_MACRO | ( | NAME, | |||
OP, | |||||
POD | ) |
Value:
template<class E, std::size_t Sz> \ inline \ XprVector< \ XprBinOp< \ Fcnl_##NAME<typename E::value_type, POD >, \ XprVector<E, Sz>, \ XprLiteral< POD > \ >, \ Sz \ > \ operator OP (const XprVector<E, Sz>& lhs, \ POD rhs) TVMET_CXX_ALWAYS_INLINE; \ \ template<class E, std::size_t Sz> \ inline \ XprVector< \ XprBinOp< \ Fcnl_##NAME< POD, typename E::value_type >, \ XprLiteral< POD >, \ XprVector< E, Sz> \ >, \ Sz \ > \ operator OP (POD lhs, \ const XprVector<E, Sz>& rhs) TVMET_CXX_ALWAYS_INLINE;
#define TVMET_DECLARE_MACRO | ( | NAME, | |||
OP | ) |
Value:
template<class E1, class E2, std::size_t Sz> \ inline \ XprVector< \ XprBinOp< \ Fcnl_##NAME<typename E1::value_type, typename E2::value_type>, \ XprVector<E1, Sz>, \ XprVector<E2, Sz> \ >, \ Sz \ > \ operator OP (const XprVector<E1, Sz>& lhs, \ const XprVector<E2, Sz>& rhs) TVMET_CXX_ALWAYS_INLINE;
#define TVMET_IMPLEMENT_MACRO | ( | NAME, | |||
OP | ) |
Value:
template <class E, std::size_t Sz> \ inline \ XprVector< \ XprUnOp< \ Fcnl_##NAME<typename E::value_type>, \ XprVector<E, Sz> \ >, \ Sz \ > \ operator OP (const XprVector<E, Sz>& rhs) { \ typedef XprUnOp< \ Fcnl_##NAME<typename E::value_type>, \ XprVector<E, Sz> \ > expr_type; \ return XprVector<expr_type, Sz>(expr_type(rhs)); \ }
#define TVMET_IMPLEMENT_MACRO | ( | NAME, | |||
OP | ) |
#define TVMET_IMPLEMENT_MACRO | ( | NAME, | |||
OP, | |||||
TP | ) |
#define TVMET_IMPLEMENT_MACRO | ( | NAME, | |||
OP | ) |
Value:
template<class E1, class E2, std::size_t Sz> \ inline \ XprVector< \ XprBinOp< \ Fcnl_##NAME<typename E1::value_type, typename E2::value_type>, \ XprVector<E1, Sz>, \ XprVector<E2, Sz> \ >, \ Sz \ > \ operator OP (const XprVector<E1, Sz>& lhs, \ const XprVector<E2, Sz>& rhs) { \ typedef XprBinOp< \ Fcnl_##NAME<typename E1::value_type, typename E2::value_type>, \ XprVector<E1, Sz>, \ XprVector<E2, Sz> \ > expr_type; \ return XprVector<expr_type, Sz>(expr_type(lhs, rhs)); \ }
#define TVMET_IMPLEMENT_MACRO | ( | NAME, | |||
OP | ) |
Value:
template<class E, std::size_t Sz, class T> \ inline \ XprVector< \ XprBinOp< \ Fcnl_##NAME<typename E::value_type, std::complex<T> >, \ XprVector<E, Sz>, \ XprLiteral< std::complex<T> > \ >, \ Sz \ > \ operator OP (const XprVector<E, Sz>& lhs, \ const std::complex<T>& rhs) { \ return NAME (lhs, rhs); \ } \ \ template<class E, std::size_t Sz, class T> \ inline \ XprVector< \ XprBinOp< \ Fcnl_##NAME< std::complex<T>, typename E::value_type >, \ XprLiteral< std::complex<T> >, \ XprVector< E, Sz> \ >, \ Sz \ > \ operator OP (const std::complex<T>& lhs, \ const XprVector<E, Sz>& rhs) { \ return NAME (lhs, rhs); \ }
#define TVMET_IMPLEMENT_MACRO | ( | NAME, | |||
OP, | |||||
POD | ) |
Value:
template<class E, std::size_t Sz> \ inline \ XprVector< \ XprBinOp< \ Fcnl_##NAME<typename E::value_type, POD >, \ XprVector<E, Sz>, \ XprLiteral< POD > \ >, \ Sz \ > \ operator OP (const XprVector<E, Sz>& lhs, POD rhs) { \ return NAME (lhs, rhs); \ } \ \ template<class E, std::size_t Sz> \ inline \ XprVector< \ XprBinOp< \ Fcnl_##NAME< POD, typename E::value_type >, \ XprLiteral< POD >, \ XprVector< E, Sz> \ >, \ Sz \ > \ operator OP (POD lhs, const XprVector<E, Sz>& rhs) { \ return NAME (lhs, rhs); \ }
#define TVMET_IMPLEMENT_MACRO | ( | NAME, | |||
OP | ) |
Value:
template<class E1, class E2, std::size_t Sz> \ inline \ XprVector< \ XprBinOp< \ Fcnl_##NAME<typename E1::value_type, typename E2::value_type>, \ XprVector<E1, Sz>, \ XprVector<E2, Sz> \ >, \ Sz \ > \ operator OP (const XprVector<E1, Sz>& lhs, \ const XprVector<E2, Sz>& rhs) { \ return NAME (lhs, rhs); \ }
Author: |