diff options
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | ext/standard/basic_functions.c | 4 | ||||
-rw-r--r-- | ext/standard/math.c | 4 | ||||
-rw-r--r-- | ext/standard/tests/math/constants.phpt | 46 |
4 files changed, 51 insertions, 4 deletions
@@ -19,6 +19,7 @@ PHP NEWS - Fixed bug #38315 (Constructing in the destructor causes weird behaviour). (Dmitry) - Fixed bug #38265 (heap corruption). (Dmitry) +- Fixed bug #33895 (Missing math constants). (Hannes) - Fixed PECL bug #8112 (OCI8 persistent connections misbehave when Apache process times out). (Tony) diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index ad13aba04c..81e464dc44 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -3974,9 +3974,13 @@ PHP_MINIT_FUNCTION(basic) REGISTER_MATH_CONSTANT(M_PI_4); REGISTER_MATH_CONSTANT(M_1_PI); REGISTER_MATH_CONSTANT(M_2_PI); + REGISTER_MATH_CONSTANT(M_SQRTPI); REGISTER_MATH_CONSTANT(M_2_SQRTPI); + REGISTER_MATH_CONSTANT(M_LNPI); + REGISTER_MATH_CONSTANT(M_EULER); 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); diff --git a/ext/standard/math.c b/ext/standard/math.c index 0cea73ac79..c9fcee48fb 100644 --- a/ext/standard/math.c +++ b/ext/standard/math.c @@ -29,10 +29,6 @@ #include <float.h> #include <stdlib.h> -#ifndef M_PI -#define M_PI 3.14159265358979323846 -#endif - #ifndef PHP_ROUND_FUZZ # ifndef PHP_WIN32 # define PHP_ROUND_FUZZ 0.50000000001 diff --git a/ext/standard/tests/math/constants.phpt b/ext/standard/tests/math/constants.phpt new file mode 100644 index 0000000000..94ba3fd7d3 --- /dev/null +++ b/ext/standard/tests/math/constants.phpt @@ -0,0 +1,46 @@ +--TEST-- +Math constants +--FILE-- +<?php +$constants = array( + "M_E", + "M_LOG2E", + "M_LOG10E", + "M_LN2", + "M_LN10", + "M_PI", + "M_PI_2", + "M_PI_4", + "M_1_PI", + "M_2_PI", + "M_SQRTPI", + "M_2_SQRTPI", + "M_LNPI", + "M_EULER", + "M_SQRT2", + "M_SQRT1_2", + "M_SQRT3" +); +foreach($constants as $constant) { + printf("%-10s: %.14s\n", $constant, constant($constant)); +} +?> +--EXPECT-- +M_E : 2.718281828459 +M_LOG2E : 1.442695040889 +M_LOG10E : 0.434294481903 +M_LN2 : 0.693147180559 +M_LN10 : 2.302585092994 +M_PI : 3.141592653589 +M_PI_2 : 1.570796326794 +M_PI_4 : 0.785398163397 +M_1_PI : 0.318309886183 +M_2_PI : 0.636619772367 +M_SQRTPI : 1.772453850905 +M_2_SQRTPI: 1.128379167095 +M_LNPI : 1.144729885849 +M_EULER : 0.577215664901 +M_SQRT2 : 1.414213562373 +M_SQRT1_2 : 0.707106781186 +M_SQRT3 : 1.732050807568 + |