//! More...
Functions | |
template<typename eT > | |
arma_inline bool | arma_isfinite (eT val) |
template<> | |
arma_inline bool | arma_isfinite (float x) |
template<> | |
arma_inline bool | arma_isfinite (double x) |
template<typename T > | |
arma_inline bool | arma_isfinite (const std::complex< T > &x) |
template<typename T > | |
arma_inline std::complex< T > | arma_acos (const std::complex< T > &x) |
template<typename T > | |
arma_inline std::complex< T > | arma_asin (const std::complex< T > &x) |
template<typename T > | |
arma_inline std::complex< T > | arma_atan (const std::complex< T > &x) |
template<typename eT > | |
arma_inline eT | arma_acosh (const eT x) |
template<typename eT > | |
arma_inline eT | arma_asinh (const eT x) |
template<typename eT > | |
arma_inline eT | arma_atanh (const eT x) |
template<typename T > | |
arma_inline std::complex< T > | arma_acosh (const std::complex< T > &x) |
template<typename T > | |
arma_inline std::complex< T > | arma_asinh (const std::complex< T > &x) |
template<typename T > | |
arma_inline std::complex< T > | arma_atanh (const std::complex< T > &x) |
//!
arma_inline bool arma_isfinite | ( | eT | val | ) |
Definition at line 32 of file cmath_wrap.hpp.
Referenced by arma_isfinite(), Mat< eT >::is_finite(), Cube< eT >::is_finite(), and log_add().
{ return true; }
arma_inline bool arma_isfinite | ( | float | x | ) |
Definition at line 42 of file cmath_wrap.hpp.
{ #if defined(ARMA_HAVE_STD_ISFINITE) { return (std::isfinite(x) != 0); } #else { const bool x_is_inf = ( (x == x) && ((x - x) != float(0)) ); const bool x_is_nan = (x != x); return ( (x_is_inf == false) && (x_is_nan == false) ); } #endif }
arma_inline bool arma_isfinite | ( | double | x | ) |
Definition at line 63 of file cmath_wrap.hpp.
{ #if defined(ARMA_HAVE_STD_ISFINITE) { return (std::isfinite(x) != 0); } #else { const bool x_is_inf = ( (x == x) && ((x - x) != double(0)) ); const bool x_is_nan = (x != x); return ( (x_is_inf == false) && (x_is_nan == false) ); } #endif }
arma_inline bool arma_isfinite | ( | const std::complex< T > & | x | ) |
Definition at line 84 of file cmath_wrap.hpp.
References arma_isfinite().
{ if( (arma_isfinite(x.real()) == false) || (arma_isfinite(x.imag()) == false) ) { return false; } else { return true; } }
arma_inline std::complex<T> arma_acos | ( | const std::complex< T > & | x | ) |
Definition at line 139 of file cmath_wrap.hpp.
References acos().
Referenced by eop_aux::acos().
{ #if defined(ARMA_HAVE_STD_TR1) { return std::tr1::acos(x); } #else { return arma_boost_wrap(acos, x); } #endif }
arma_inline std::complex<T> arma_asin | ( | const std::complex< T > & | x | ) |
Definition at line 157 of file cmath_wrap.hpp.
References asin().
Referenced by eop_aux::asin().
{ #if defined(ARMA_HAVE_STD_TR1) { return std::tr1::asin(x); } #else { return arma_boost_wrap(asin, x); } #endif }
arma_inline std::complex<T> arma_atan | ( | const std::complex< T > & | x | ) |
Definition at line 175 of file cmath_wrap.hpp.
References atan().
Referenced by eop_aux::atan().
{ #if defined(ARMA_HAVE_STD_TR1) { return std::tr1::atan(x); } #else { return arma_boost_wrap(atan, x); } #endif }
arma_inline eT arma_acosh | ( | const eT | x | ) |
Definition at line 193 of file cmath_wrap.hpp.
References acosh(), log(), and sqrt().
Referenced by eop_aux::acosh().
{ #if defined(ARMA_HAVE_STD_TR1) { return std::tr1::acosh(x); } #elif defined(ARMA_USE_BOOST) { return boost::math::acosh(x); } #else { if(x >= eT(1)) { // http://functions.wolfram.com/ElementaryFunctions/ArcCosh/02/ return std::log( x + std::sqrt(x*x - eT(1)) ); } else { if(std::numeric_limits<eT>::has_quiet_NaN == true) { return -(std::numeric_limits<eT>::quiet_NaN()); } else { return eT(0); } } } #endif }
arma_inline eT arma_asinh | ( | const eT | x | ) |
Definition at line 230 of file cmath_wrap.hpp.
References asinh(), log(), and sqrt().
Referenced by eop_aux::asinh().
{ #if defined(ARMA_HAVE_STD_TR1) { return std::tr1::asinh(x); } #elif defined(ARMA_USE_BOOST) { return boost::math::asinh(x); } #else { // http://functions.wolfram.com/ElementaryFunctions/ArcSinh/02/ return std::log( x + std::sqrt(x*x + eT(1)) ); } #endif }
arma_inline eT arma_atanh | ( | const eT | x | ) |
Definition at line 253 of file cmath_wrap.hpp.
References atanh(), and log().
Referenced by eop_aux::atanh().
{ #if defined(ARMA_HAVE_STD_TR1) { return std::tr1::atanh(x); } #elif defined(ARMA_USE_BOOST) { return boost::math::atanh(x); } #else { if( (x >= eT(-1)) && (x <= eT(+1)) ) { // http://functions.wolfram.com/ElementaryFunctions/ArcTanh/02/ return std::log( ( eT(1)+x ) / ( eT(1)-x ) ) / eT(2); } else { if(std::numeric_limits<eT>::has_quiet_NaN == true) { return -(std::numeric_limits<eT>::quiet_NaN()); } else { return eT(0); } } } #endif }
arma_inline std::complex<T> arma_acosh | ( | const std::complex< T > & | x | ) |
Definition at line 290 of file cmath_wrap.hpp.
References acosh().
{ #if defined(ARMA_HAVE_STD_TR1) { return std::tr1::acosh(x); } #else { return arma_boost_wrap(acosh, x); } #endif }
arma_inline std::complex<T> arma_asinh | ( | const std::complex< T > & | x | ) |
Definition at line 308 of file cmath_wrap.hpp.
References asinh().
{ #if defined(ARMA_HAVE_STD_TR1) { return std::tr1::asinh(x); } #else { return arma_boost_wrap(asinh, x); } #endif }
arma_inline std::complex<T> arma_atanh | ( | const std::complex< T > & | x | ) |
Definition at line 326 of file cmath_wrap.hpp.
References atanh().
{ #if defined(ARMA_HAVE_STD_TR1) { return std::tr1::atanh(x); } #else { return arma_boost_wrap(atanh, x); } #endif }