|
Tiny Vector Matrix library using Expression Templates | Sourceforge Project Page |
Go to the source code of this file.
Namespaces | |
namespace | tvmet |
Defines | |
#define | TVMET_DECLARE_MACRO(NAME) |
#define | TVMET_DECLARE_MACRO(NAME) |
#define | TVMET_IMPLEMENT_MACRO(NAME) |
#define | TVMET_IMPLEMENT_MACRO(NAME) |
Functions | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_abs < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::abs (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
absolute value function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_cbrt < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::cbrt (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
cube root function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_ceil < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::ceil (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_floor < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::floor (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
round function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_rint < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::rint (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
round function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_sin < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::sin (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
sin function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_cos < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::cos (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
cos function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_tan < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::tan (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_sinh < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::sinh (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
sinh function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_cosh < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::cosh (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
cosh function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_tanh < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::tanh (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_asin < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::asin (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
asin function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_acos < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::acos (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
acos function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_atan < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::atan (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
atan function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_exp < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::exp (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
exponential function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_log < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::log (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
logarithmic function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_log10 < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::log10 (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
logarithmic function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_sqrt < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::sqrt (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
sqrt function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_asinh < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::asinh (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
IEEE Math asinh function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_acosh < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::acosh (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
IEEE Math acosh function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_atanh < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::atanh (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
IEEE Math atanh function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_expm1 < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::expm1 (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
IEEE Math expm1 function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_log1p < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::log1p (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
IEEE Math log1p function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_erf < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::erf (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
IEEE Math erf function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_erfc < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::erfc (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
IEEE Math erfc function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_j0< T > , MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::j0 (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
IEEE Math Bessel function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_j1< T > , MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::j1 (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
IEEE Math Bessel function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_y0< T > , MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::y0 (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
IEEE Math Bessel function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_y1< T > , MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::y1 (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
IEEE Math Bessel function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp < Fcnl_lgamma< T > , MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::lgamma (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
IEEE Math lgamma function on Matrix. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_isnan < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::isnan (const Matrix< T, Rows, Cols > &rhs) |
IEEE Math isnan. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_isinf < T >, MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::isinf (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
IEEE Math isinf. | |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp < Fcnl_finite< T > , MatrixConstReference< T, Rows, Cols > >, Rows, Cols > | tvmet::finite (const Matrix< T, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_real < std::complex< T > >, MatrixConstReference < std::complex< T >, Rows, Cols > >, Rows, Cols > | tvmet::real (const Matrix< std::complex< T >, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_imag < std::complex< T > >, MatrixConstReference < std::complex< T >, Rows, Cols > >, Rows, Cols > | tvmet::imag (const Matrix< std::complex< T >, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_arg < std::complex< T > >, MatrixConstReference < std::complex< T >, Rows, Cols > >, Rows, Cols > | tvmet::arg (const Matrix< std::complex< T >, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_norm < std::complex< T > >, MatrixConstReference < std::complex< T >, Rows, Cols > >, Rows, Cols > | tvmet::norm (const Matrix< std::complex< T >, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
template<class T, std::size_t Rows, std::size_t Cols> | |
XprMatrix< XprUnOp< Fcnl_conj < std::complex< T > >, MatrixConstReference < std::complex< T >, Rows, Cols > >, Rows, Cols > | tvmet::conj (const Matrix< std::complex< T >, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE |
#define TVMET_DECLARE_MACRO | ( | NAME | ) |
Value:
template<class T, std::size_t Rows, std::size_t Cols> \ inline \ XprMatrix< \ XprUnOp< \ Fcnl_##NAME< std::complex<T> >, \ MatrixConstReference<std::complex<T>, Rows, Cols> \ >, \ Rows, Cols \ > \ NAME(const Matrix<std::complex<T>, Rows, Cols>& rhs) TVMET_CXX_ALWAYS_INLINE;
#define TVMET_DECLARE_MACRO | ( | NAME | ) |
Value:
template<class T, std::size_t Rows, std::size_t Cols> \ inline \ XprMatrix< \ XprUnOp< \ Fcnl_##NAME<T>, \ MatrixConstReference<T, Rows, Cols> \ >, \ Rows, Cols \ > \ NAME(const Matrix<T, Rows, Cols>& rhs) TVMET_CXX_ALWAYS_INLINE;
#define TVMET_IMPLEMENT_MACRO | ( | NAME | ) |
Value:
template<class T, std::size_t Rows, std::size_t Cols> \ inline \ XprMatrix< \ XprUnOp< \ Fcnl_##NAME< std::complex<T> >, \ MatrixConstReference<std::complex<T>, Rows, Cols> \ >, \ Rows, Cols \ > \ NAME(const Matrix<std::complex<T>, Rows, Cols>& rhs) { \ typedef XprUnOp< \ Fcnl_##NAME< std::complex<T> >, \ MatrixConstReference<std::complex<T>, Rows, Cols> \ > expr_type; \ return XprMatrix<expr_type, Rows, Cols>(expr_type(rhs.const_ref())); \ }
#define TVMET_IMPLEMENT_MACRO | ( | NAME | ) |
Value:
template<class T, std::size_t Rows, std::size_t Cols> \ inline \ XprMatrix< \ XprUnOp< \ Fcnl_##NAME<T>, \ MatrixConstReference<T, Rows, Cols> \ >, \ Rows, Cols \ > \ NAME(const Matrix<T, Rows, Cols>& rhs) { \ typedef XprUnOp< \ Fcnl_##NAME<T>, \ MatrixConstReference<T, Rows, Cols> \ > expr_type; \ return XprMatrix<expr_type, Rows, Cols>(expr_type(rhs.const_ref())); \ }
Author: |