diff options
author | Sascha Schumann <sas@php.net> | 2000-08-20 06:07:42 +0000 |
---|---|---|
committer | Sascha Schumann <sas@php.net> | 2000-08-20 06:07:42 +0000 |
commit | 1f84023b058932e149b951dc58d557263561309b (patch) | |
tree | 74a74ec5d6b06864191ac55468108c8e486c1320 /Zend/acconfig.h | |
parent | e325e06693ba09bdae1801e7434cee7f9f0d10bf (diff) | |
download | php-git-1f84023b058932e149b951dc58d557263561309b.tar.gz |
Add zend_isinf and zend_isnan.
Diffstat (limited to 'Zend/acconfig.h')
-rw-r--r-- | Zend/acconfig.h | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/Zend/acconfig.h b/Zend/acconfig.h index 9b3153daf1..0d6d84b54e 100644 --- a/Zend/acconfig.h +++ b/Zend/acconfig.h @@ -35,18 +35,31 @@ int zend_sprintf(char *buffer, const char *format, ...); # define zend_sprintf sprintf #endif +#ifdef HAVE_ISNAN +#define zend_isnan(a) isnan(a) +#elif defined(NAN) +#define zend_isnan(a) (((a)==NAN)?1:0) +#else +#define zend_isnan(a) 0 +#endif + +#ifdef HAVE_ISINF +#define zend_isinf(a) isinf(a) +#elif defined(INFINITY) +/* Might not work, but is required by ISO C99 */ +#define zend_isinf(a) (((a)==INFINITY)?1:0) +#else +#define zend_isinf(a) 0 +#endif + +#include <math.h> + #ifdef HAVE_FINITE #define zend_finite(a) finite(a) #elif defined(HAVE_ISFINITE) #define zend_finite(a) isfinite(a) -#elif defined(HAVE_ISNAN) && defined(HAVE_ISINF) -#define zend_finite(a) (isnan(a) ? 0 : isinf(a) ? 0 : 1) -#elif defined(HAVE_ISNAN) -#define zend_finite(a) (isnan(a) ? 0 : 1) -#elif defined(HAVE_ISINF) -#define zend_finite(a) (isinf(a) ? 0 : 1) #else -#define zend_finite(a) (1) +#define zend_finite(a) (zend_isnan(a) ? 0 : zend_isinf(a) ? 0 : 1) #endif /* |