Tiny Vector Matrix library using Expression Templates | Sourceforge Project Page |
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, 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: |