diff options
Diffstat (limited to 'ext/standard/basic_functions.c')
-rw-r--r-- | ext/standard/basic_functions.c | 35 |
1 files changed, 6 insertions, 29 deletions
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index f8121c1ebf..b1ac80fd94 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -48,6 +48,8 @@ typedef struct yy_buffer_state *YY_BUFFER_STATE; #include "zend_language_scanner.h" #include <zend_language_parser.h> +#include "zend_portability.h" + #include <stdarg.h> #include <stdlib.h> #include <math.h> @@ -3484,40 +3486,15 @@ static void basic_globals_dtor(php_basic_globals *basic_globals_p) /* {{{ */ } /* }}} */ -#define PHP_DOUBLE_INFINITY_HIGH 0x7ff00000 -#define PHP_DOUBLE_QUIET_NAN_HIGH 0xfff80000 - PHPAPI double php_get_nan(void) /* {{{ */ { -#if HAVE_HUGE_VAL_NAN - return HUGE_VAL + -HUGE_VAL; -#elif defined(__i386__) || defined(_X86_) || defined(ALPHA) || defined(_ALPHA) || defined(__alpha) - double val = 0.0; - ((uint32_t*)&val)[1] = PHP_DOUBLE_QUIET_NAN_HIGH; - ((uint32_t*)&val)[0] = 0; - return val; -#elif HAVE_ATOF_ACCEPTS_NAN - return atof("NAN"); -#else - return 0.0/0.0; -#endif + return ZEND_NAN; } /* }}} */ PHPAPI double php_get_inf(void) /* {{{ */ { -#if HAVE_HUGE_VAL_INF - return HUGE_VAL; -#elif defined(__i386__) || defined(_X86_) || defined(ALPHA) || defined(_ALPHA) || defined(__alpha) - double val = 0.0; - ((uint32_t*)&val)[1] = PHP_DOUBLE_INFINITY_HIGH; - ((uint32_t*)&val)[0] = 0; - return val; -#elif HAVE_ATOF_ACCEPTS_INF - return atof("INF"); -#else - return 1.0/0.0; -#endif + return ZEND_INFINITY; } /* }}} */ @@ -3609,8 +3586,8 @@ PHP_MINIT_FUNCTION(basic) /* {{{ */ REGISTER_MATH_CONSTANT(M_SQRT2); REGISTER_MATH_CONSTANT(M_SQRT1_2); REGISTER_MATH_CONSTANT(M_SQRT3); - REGISTER_DOUBLE_CONSTANT("INF", php_get_inf(), CONST_CS | CONST_PERSISTENT); - REGISTER_DOUBLE_CONSTANT("NAN", php_get_nan(), CONST_CS | CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("INF", ZEND_INFINITY, CONST_CS | CONST_PERSISTENT); + REGISTER_DOUBLE_CONSTANT("NAN", ZEND_NAN, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_UP", PHP_ROUND_HALF_UP, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("PHP_ROUND_HALF_DOWN", PHP_ROUND_HALF_DOWN, CONST_CS | CONST_PERSISTENT); |