SourceForge Logo Tiny Vector Matrix library using Expression Templates Sourceforge Project Page

include/tvmet/xpr/MatrixUnaryFunctions.h File Reference

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_IMPLEMENT_MACRO(NAME)

Functions

template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_abs
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::abs (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 absolute value function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_cbrt
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::cbrt (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 cube root function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_ceil
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::ceil (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_floor
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::floor (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 round function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_rint
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::rint (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 round function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_sin
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::sin (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 sin function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_cos
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::cos (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 cos function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_tan
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::tan (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_sinh
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::sinh (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 sinh function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_cosh
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::cosh (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 cosh function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_tanh
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::tanh (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_asin
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::asin (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 asin function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_acos
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::acos (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 acos function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_atan
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::atan (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 atan function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_exp
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::exp (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 exponential function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_log
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::log (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 logarithmic function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_log10
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::log10 (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 logarithmic function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_sqrt
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::sqrt (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 sqrt function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_asinh
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::asinh (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math asinh function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_acosh
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::acosh (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math acosh function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_atanh
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::atanh (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math atanh function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_expm1
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::expm1 (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math expm1 function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_log1p
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::log1p (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math log1p function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_erf
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::erf (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math erf function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_erfc
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::erfc (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math erfc function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_j0
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::j0 (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math Bessel function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_j1
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::j1 (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math Bessel function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_y0
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::y0 (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math Bessel function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_y1
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::y1 (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math Bessel function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp
< Fcnl_lgamma< typename
E::value_type >, XprMatrix< E,
Rows, Cols > >, Rows, Cols > 
tvmet::lgamma (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math lgamma function for XprMatrix.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_isnan
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::isnan (const XprMatrix< E, Rows, Cols > &rhs)
 IEEE Math isnan.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp< Fcnl_isinf
< typename E::value_type >
, XprMatrix< E, Rows, Cols >
>, Rows, Cols > 
tvmet::isinf (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math isinf.
template<class E, std::size_t Rows, std::size_t Cols>
XprMatrix< XprUnOp
< Fcnl_finite< typename
E::value_type >, XprMatrix< E,
Rows, Cols > >, Rows, Cols > 
tvmet::finite (const XprMatrix< E, Rows, Cols > &rhs) TVMET_CXX_ALWAYS_INLINE


Define Documentation

#define TVMET_DECLARE_MACRO ( NAME   ) 

Value:

template<class E, std::size_t Rows, std::size_t Cols>     \
inline                  \
XprMatrix<                \
  XprUnOp<                \
    Fcnl_##NAME<typename E::value_type>,        \
    XprMatrix<E, Rows, Cols>            \
  >,                  \
  Rows, Cols                \
>                 \
NAME(const XprMatrix<E, Rows, Cols>& rhs) TVMET_CXX_ALWAYS_INLINE;

#define TVMET_IMPLEMENT_MACRO ( NAME   ) 

Value:

template<class E, std::size_t Rows, std::size_t Cols>      \
inline                   \
XprMatrix<                 \
  XprUnOp<                 \
    Fcnl_##NAME<typename E::value_type>,         \
    XprMatrix<E, Rows, Cols>             \
  >,                   \
  Rows, Cols                 \
>                  \
NAME(const XprMatrix<E, Rows, Cols>& rhs) {        \
  typedef XprUnOp<               \
    Fcnl_##NAME<typename E::value_type>,         \
    XprMatrix<E, Rows, Cols>             \
  >               expr_type; \
  return XprMatrix<expr_type, Rows, Cols>(expr_type(rhs));     \
}


Author: