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 |
Defines | |
#define | TVMET_DECLARE_MACRO(NAME) |
#define | TVMET_DECLARE_MACRO(NAME, TP) |
#define | TVMET_DECLARE_MACRO(NAME) |
#define | TVMET_IMPLEMENT_MACRO(NAME) |
#define | TVMET_IMPLEMENT_MACRO(NAME, TP) |
#define | TVMET_IMPLEMENT_MACRO(NAME) |
Functions | |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_atan2< typename E1::value_type, typename E2::value_type >, XprVector< E1, Sz >, XprVector< E2, Sz > >, Sz > | tvmet::atan2 (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
arcus tangent of two variables function for two XprVector. | |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_drem< typename E1::value_type, typename E2::value_type >, XprVector< E1, Sz >, XprVector< E2, Sz > >, Sz > | tvmet::drem (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
floating-point remainder function for two XprVector. | |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_fmod< typename E1::value_type, typename E2::value_type >, XprVector< E1, Sz >, XprVector< E2, Sz > >, Sz > | tvmet::fmod (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
floating-point remainder function for two XprVector. | |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_hypot< typename E1::value_type, typename E2::value_type >, XprVector< E1, Sz >, XprVector< E2, Sz > >, Sz > | tvmet::hypot (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Euclidean distance function for two XprVector. | |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_jn< typename E1::value_type, typename E2::value_type >, XprVector< E1, Sz >, XprVector< E2, Sz > >, Sz > | tvmet::jn (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Bessel function for two XprVector. | |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_yn< typename E1::value_type, typename E2::value_type >, XprVector< E1, Sz >, XprVector< E2, Sz > >, Sz > | tvmet::yn (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
Bessel function for two XprVector. | |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_pow< typename E1::value_type, typename E2::value_type >, XprVector< E1, Sz >, XprVector< E2, Sz > >, Sz > | tvmet::pow (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
power function for two XprVector. | |
template<class E1, class E2, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_polar< typename E1::value_type, typename E2::value_type >, XprVector< E1, Sz >, XprVector< E2, Sz > >, Sz > | tvmet::polar (const XprVector< E1, Sz > &lhs, const XprVector< E2, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_atan2< typename E::value_type, int >, XprVector< E, Sz >, XprLiteral< int > >, Sz > | tvmet::atan2 (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
arcus tangent of two variables function between XprVector and int. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_drem< typename E::value_type, int >, XprVector< E, Sz >, XprLiteral< int > >, Sz > | tvmet::drem (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
floating-point remainder function between XprVector and int. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_fmod< typename E::value_type, int >, XprVector< E, Sz >, XprLiteral< int > >, Sz > | tvmet::fmod (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
floating-point remainder function between XprVector and int. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_hypot< typename E::value_type, int >, XprVector< E, Sz >, XprLiteral< int > >, Sz > | tvmet::hypot (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
Euclidean distance function between XprVector and int. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_jn< typename E::value_type, int >, XprVector< E, Sz >, XprLiteral< int > >, Sz > | tvmet::jn (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
Bessel function between XprVector and int. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_yn< typename E::value_type, int >, XprVector< E, Sz >, XprLiteral< int > >, Sz > | tvmet::yn (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
Bessel function between XprVector and int. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_pow< typename E::value_type, int >, XprVector< E, Sz >, XprLiteral< int > >, Sz > | tvmet::pow (const XprVector< E, Sz > &lhs, int rhs) TVMET_CXX_ALWAYS_INLINE |
power function between XprVector and int. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_atan2< typename E::value_type, float >, XprVector< E, Sz >, XprLiteral< float > >, Sz > | tvmet::atan2 (const XprVector< E, Sz > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE |
arcus tangent of two variables function between XprVector and float. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_drem< typename E::value_type, float >, XprVector< E, Sz >, XprLiteral< float > >, Sz > | tvmet::drem (const XprVector< E, Sz > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE |
floating-point remainder function between XprVector and float. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_fmod< typename E::value_type, float >, XprVector< E, Sz >, XprLiteral< float > >, Sz > | tvmet::fmod (const XprVector< E, Sz > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE |
floating-point remainder function between XprVector and float. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_hypot< typename E::value_type, float >, XprVector< E, Sz >, XprLiteral< float > >, Sz > | tvmet::hypot (const XprVector< E, Sz > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE |
Euclidean distance function between XprVector and float. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_jn< typename E::value_type, float >, XprVector< E, Sz >, XprLiteral< float > >, Sz > | tvmet::jn (const XprVector< E, Sz > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE |
Bessel function between XprVector and float. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_yn< typename E::value_type, float >, XprVector< E, Sz >, XprLiteral< float > >, Sz > | tvmet::yn (const XprVector< E, Sz > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE |
Bessel function between XprVector and float. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_pow< typename E::value_type, float >, XprVector< E, Sz >, XprLiteral< float > >, Sz > | tvmet::pow (const XprVector< E, Sz > &lhs, float rhs) TVMET_CXX_ALWAYS_INLINE |
power function between XprVector and float. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_atan2< typename E::value_type, double >, XprVector< E, Sz >, XprLiteral< double > >, Sz > | tvmet::atan2 (const XprVector< E, Sz > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE |
arcus tangent of two variables function between XprVector and double. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_drem< typename E::value_type, double >, XprVector< E, Sz >, XprLiteral< double > >, Sz > | tvmet::drem (const XprVector< E, Sz > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE |
floating-point remainder function between XprVector and double. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_fmod< typename E::value_type, double >, XprVector< E, Sz >, XprLiteral< double > >, Sz > | tvmet::fmod (const XprVector< E, Sz > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE |
floating-point remainder function between XprVector and double. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_hypot< typename E::value_type, double >, XprVector< E, Sz >, XprLiteral< double > >, Sz > | tvmet::hypot (const XprVector< E, Sz > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE |
Euclidean distance function between XprVector and double. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_jn< typename E::value_type, double >, XprVector< E, Sz >, XprLiteral< double > >, Sz > | tvmet::jn (const XprVector< E, Sz > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE |
Bessel function between XprVector and double. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_yn< typename E::value_type, double >, XprVector< E, Sz >, XprLiteral< double > >, Sz > | tvmet::yn (const XprVector< E, Sz > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE |
Bessel function between XprVector and double. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_pow< typename E::value_type, double >, XprVector< E, Sz >, XprLiteral< double > >, Sz > | tvmet::pow (const XprVector< E, Sz > &lhs, double rhs) TVMET_CXX_ALWAYS_INLINE |
power function between XprVector and double. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_atan2< typename E::value_type, long double >, XprVector< E, Sz >, XprLiteral< long double > >, Sz > | tvmet::atan2 (const XprVector< E, Sz > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE |
arcus tangent of two variables function between XprVector and long double. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_drem< typename E::value_type, long double >, XprVector< E, Sz >, XprLiteral< long double > >, Sz > | tvmet::drem (const XprVector< E, Sz > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE |
floating-point remainder function between XprVector and long double. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_fmod< typename E::value_type, long double >, XprVector< E, Sz >, XprLiteral< long double > >, Sz > | tvmet::fmod (const XprVector< E, Sz > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE |
floating-point remainder function between XprVector and long double. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_hypot< typename E::value_type, long double >, XprVector< E, Sz >, XprLiteral< long double > >, Sz > | tvmet::hypot (const XprVector< E, Sz > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE |
Euclidean distance function between XprVector and long double. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_jn< typename E::value_type, long double >, XprVector< E, Sz >, XprLiteral< long double > >, Sz > | tvmet::jn (const XprVector< E, Sz > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE |
Bessel function between XprVector and long double. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_yn< typename E::value_type, long double >, XprVector< E, Sz >, XprLiteral< long double > >, Sz > | tvmet::yn (const XprVector< E, Sz > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE |
Bessel function between XprVector and long double. | |
template<class E, std::size_t Sz> | |
XprVector< XprBinOp< Fcnl_pow< typename E::value_type, long double >, XprVector< E, Sz >, XprLiteral< long double > >, Sz > | tvmet::pow (const XprVector< E, Sz > &lhs, long double rhs) TVMET_CXX_ALWAYS_INLINE |
power function between XprVector and long double. | |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_atan2< typename E::value_type, std::complex< T > >, XprVector< E, Sz >, XprLiteral< std::complex< T > > >, Sz > | tvmet::atan2 (const XprVector< E, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
arcus tangent of two variables function between XprVector and std::complex<T>. | |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_drem< typename E::value_type, std::complex< T > >, XprVector< E, Sz >, XprLiteral< std::complex< T > > >, Sz > | tvmet::drem (const XprVector< E, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
floating-point remainder function between XprVector and std::complex<T>. | |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_fmod< typename E::value_type, std::complex< T > >, XprVector< E, Sz >, XprLiteral< std::complex< T > > >, Sz > | tvmet::fmod (const XprVector< E, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
floating-point remainder function between XprVector and std::complex<T>. | |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_hypot< typename E::value_type, std::complex< T > >, XprVector< E, Sz >, XprLiteral< std::complex< T > > >, Sz > | tvmet::hypot (const XprVector< E, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
Euclidean distance function between XprVector and std::complex<T>. | |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_jn< typename E::value_type, std::complex< T > >, XprVector< E, Sz >, XprLiteral< std::complex< T > > >, Sz > | tvmet::jn (const XprVector< E, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
Bessel function between XprVector and std::complex<T>. | |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_yn< typename E::value_type, std::complex< T > >, XprVector< E, Sz >, XprLiteral< std::complex< T > > >, Sz > | tvmet::yn (const XprVector< E, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
Bessel function between XprVector and std::complex<T>. | |
template<class E, std::size_t Sz, class T> | |
XprVector< XprBinOp< Fcnl_pow< typename E::value_type, std::complex< T > >, XprVector< E, Sz >, XprLiteral< std::complex< T > > >, Sz > | tvmet::pow (const XprVector< E, Sz > &lhs, const std::complex< T > &rhs) TVMET_CXX_ALWAYS_INLINE |
power function between XprVector and std::complex<T>. |
#define TVMET_DECLARE_MACRO | ( | NAME | ) |
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 \ > \ NAME(const XprVector<E, Sz>& lhs, \ const std::complex<T>& rhs) TVMET_CXX_ALWAYS_INLINE;
#define TVMET_DECLARE_MACRO | ( | NAME, | |||
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 \ > \ NAME(const XprVector<E, Sz>& lhs, \ TP rhs) TVMET_CXX_ALWAYS_INLINE;
#define TVMET_DECLARE_MACRO | ( | NAME | ) |
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 \ > \ NAME(const XprVector<E1, Sz>& lhs, \ const XprVector<E2, Sz>& rhs) TVMET_CXX_ALWAYS_INLINE;
#define TVMET_IMPLEMENT_MACRO | ( | NAME | ) |
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 \ > \ NAME(const XprVector<E, Sz>& lhs, const std::complex<T>& rhs) { \ typedef XprBinOp< \ Fcnl_##NAME<typename E::value_type, std::complex<T> >, \ XprVector<E, Sz>, \ XprLiteral< std::complex<T> > \ > expr_type; \ return XprVector<expr_type, Sz>( \ expr_type(lhs, XprLiteral< std::complex<T> >(rhs))); \ }
#define TVMET_IMPLEMENT_MACRO | ( | NAME, | |||
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 \ > \ NAME(const XprVector<E, Sz>& lhs, TP rhs) { \ typedef XprBinOp< \ Fcnl_##NAME<typename E::value_type, TP >, \ XprVector<E, Sz>, \ XprLiteral< TP > \ > expr_type; \ return XprVector<expr_type, Sz>( \ expr_type(lhs, XprLiteral< TP >(rhs))); \ }
#define TVMET_IMPLEMENT_MACRO | ( | NAME | ) |
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 \ > \ NAME(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)); \ }
Author: |