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) |
arma_inline bool arma_isfinite | ( | eT | val | ) | [inline] |
Definition at line 26 of file cmath_wrap.hpp.
Referenced by arma_isfinite(), Mat< eT >::is_finite(), Cube< eT >::is_finite(), log_add(), and running_stat< eT >::operator()().
arma_inline bool arma_isfinite | ( | float | x | ) | [inline] |
Definition at line 36 of file cmath_wrap.hpp.
00037 { 00038 #if defined(ARMA_HAVE_STD_ISFINITE) 00039 { 00040 return (std::isfinite(x) != 0); 00041 } 00042 #else 00043 { 00044 const bool x_is_inf = ( (x == x) && ((x - x) != float(0)) ); 00045 const bool x_is_nan = (x != x); 00046 00047 return ( (x_is_inf == false) && (x_is_nan == false) ); 00048 } 00049 #endif 00050 }
arma_inline bool arma_isfinite | ( | double | x | ) | [inline] |
Definition at line 57 of file cmath_wrap.hpp.
00058 { 00059 #if defined(ARMA_HAVE_STD_ISFINITE) 00060 { 00061 return (std::isfinite(x) != 0); 00062 } 00063 #else 00064 { 00065 const bool x_is_inf = ( (x == x) && ((x - x) != double(0)) ); 00066 const bool x_is_nan = (x != x); 00067 00068 return ( (x_is_inf == false) && (x_is_nan == false) ); 00069 } 00070 #endif 00071 }
arma_inline bool arma_isfinite | ( | const std::complex< T > & | x | ) | [inline] |
Definition at line 78 of file cmath_wrap.hpp.
References arma_isfinite().
00079 { 00080 if( (arma_isfinite(x.real()) == false) || (arma_isfinite(x.imag()) == false) ) 00081 { 00082 return false; 00083 } 00084 else 00085 { 00086 return true; 00087 } 00088 }