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