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