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

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


Define Documentation

#define TVMET_DECLARE_MACRO ( NAME   ) 

Value:

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

#define TVMET_IMPLEMENT_MACRO ( NAME   ) 

Value:

template<class E, std::size_t Sz>         \
inline                  \
XprVector<                \
  XprUnOp<                \
    Fcnl_##NAME<typename E::value_type>,        \
    XprVector<E, Sz>              \
  >,                  \
  Sz                  \
>                 \
NAME(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));      \
}


Author: