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

include/tvmet/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_DECLARE_MACRO(NAME)
#define TVMET_IMPLEMENT_MACRO(NAME)
#define TVMET_IMPLEMENT_MACRO(NAME)

Functions

template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_abs
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::abs (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 absolute value function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_cbrt
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::cbrt (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 cube root function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_ceil
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::ceil (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_floor
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::floor (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 round function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_rint
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::rint (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 round function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_sin
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::sin (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 sin function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_cos
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::cos (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 cos function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_tan
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::tan (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_sinh
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::sinh (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 sinh function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_cosh
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::cosh (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 cosh function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_tanh
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::tanh (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_asin
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::asin (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 asin function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_acos
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::acos (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 acos function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_atan
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::atan (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 atan function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_exp
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::exp (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 exponential function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_log
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::log (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 logarithmic function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_log10
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::log10 (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 logarithmic function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_sqrt
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::sqrt (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 sqrt function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_asinh
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::asinh (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math asinh function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_acosh
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::acosh (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math acosh function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_atanh
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::atanh (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math atanh function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_expm1
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::expm1 (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math expm1 function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_log1p
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::log1p (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math log1p function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_erf
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::erf (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math erf function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_erfc
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::erfc (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math erfc function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_j0< T >
, VectorConstReference< T, Sz >
>, Sz > 
tvmet::j0 (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math Bessel function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_j1< T >
, VectorConstReference< T, Sz >
>, Sz > 
tvmet::j1 (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math Bessel function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_y0< T >
, VectorConstReference< T, Sz >
>, Sz > 
tvmet::y0 (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math Bessel function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_y1< T >
, VectorConstReference< T, Sz >
>, Sz > 
tvmet::y1 (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math Bessel function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp
< Fcnl_lgamma< T >
, VectorConstReference< T, Sz >
>, Sz > 
tvmet::lgamma (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math lgamma function on Vector.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_isnan
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::isnan (const Vector< T, Sz > &rhs)
 IEEE Math isnan.
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_isinf
< T >, VectorConstReference< T,
Sz > >, Sz > 
tvmet::isinf (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
 IEEE Math isinf.
template<class T, std::size_t Sz>
XprVector< XprUnOp
< Fcnl_finite< T >
, VectorConstReference< T, Sz >
>, Sz > 
tvmet::finite (const Vector< T, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_real
< std::complex< T >
>, VectorConstReference
< std::complex< T >, Sz >
>, Sz > 
tvmet::real (const Vector< std::complex< T >, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_imag
< std::complex< T >
>, VectorConstReference
< std::complex< T >, Sz >
>, Sz > 
tvmet::imag (const Vector< std::complex< T >, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_arg
< std::complex< T >
>, VectorConstReference
< std::complex< T >, Sz >
>, Sz > 
tvmet::arg (const Vector< std::complex< T >, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_norm
< std::complex< T >
>, VectorConstReference
< std::complex< T >, Sz >
>, Sz > 
tvmet::norm (const Vector< std::complex< T >, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE
template<class T, std::size_t Sz>
XprVector< XprUnOp< Fcnl_conj
< std::complex< T >
>, VectorConstReference
< std::complex< T >, Sz >
>, Sz > 
tvmet::conj (const Vector< std::complex< T >, Sz > &rhs) TVMET_CXX_ALWAYS_INLINE


Define Documentation

#define TVMET_DECLARE_MACRO ( NAME   ) 

Value:

template<class T, std::size_t Sz>         \
XprVector<                \
  XprUnOp<                \
    Fcnl_##NAME< std::complex<T> >,         \
    VectorConstReference<std::complex<T>, Sz>       \
  >,                  \
  Sz                  \
>                 \
NAME(const Vector<std::complex<T>, Sz>& rhs) TVMET_CXX_ALWAYS_INLINE;

#define TVMET_DECLARE_MACRO ( NAME   ) 

Value:

template<class T, std::size_t Sz>     \
XprVector<            \
  XprUnOp<            \
    Fcnl_##NAME<T>,         \
    VectorConstReference<T, Sz>       \
  >,              \
  Sz              \
>             \
NAME(const Vector<T, Sz>& rhs) TVMET_CXX_ALWAYS_INLINE;

#define TVMET_IMPLEMENT_MACRO ( NAME   ) 

Value:

template<class T, std::size_t Sz>         \
inline                  \
XprVector<                \
  XprUnOp<                \
    Fcnl_##NAME< std::complex<T> >,         \
    VectorConstReference<std::complex<T>, Sz>       \
  >,                  \
  Sz                  \
>                 \
NAME(const Vector<std::complex<T>, Sz>& rhs) {        \
  typedef XprUnOp<              \
      Fcnl_##NAME< std::complex<T> >,         \
      VectorConstReference<std::complex<T>, Sz>       \
    >               expr_type;  \
    return XprVector<expr_type, Sz>(expr_type(rhs.const_ref()));  \
}

#define TVMET_IMPLEMENT_MACRO ( NAME   ) 

Value:

template<class T, std::size_t Sz>         \
inline                  \
XprVector<                \
  XprUnOp<                \
    Fcnl_##NAME<T>,             \
    VectorConstReference<T, Sz>           \
  >,                  \
  Sz                  \
>                 \
NAME(const Vector<T, Sz>& rhs) {          \
  typedef XprUnOp<              \
      Fcnl_##NAME<T>,             \
      VectorConstReference<T, Sz>         \
    >               expr_type;  \
    return XprVector<expr_type, Sz>(expr_type(rhs.const_ref()));  \
}


Author: