]> granicus.if.org Git - php/commitdiff
MFH:
authorHannes Magnusson <bjori@php.net>
Sun, 27 Aug 2006 19:14:43 +0000 (19:14 +0000)
committerHannes Magnusson <bjori@php.net>
Sun, 27 Aug 2006 19:14:43 +0000 (19:14 +0000)
 - Fixed bug #33895 (missing math constants).
 - Remove M_PI from math.c (its defined in php_math.h)

NEWS
ext/standard/basic_functions.c
ext/standard/math.c
ext/standard/tests/math/constants.phpt [new file with mode: 0644]

diff --git a/NEWS b/NEWS
index 5a4fb6df23fd1e576a358497c40c32d39d7f5373..89f467dbfae9df77a169a5d80f39ba0f13b56e76 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -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)
 
index ad13aba04c98fdc7524f2576c3e5a56248effccc..81e464dc443cef688f663eb7d3f795b9b808d503 100644 (file)
@@ -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);
 
index 0cea73ac79f67c96b561332819488b459d7b6359..c9fcee48fbe446e4ac9225c391abba9041cf4cc9 100644 (file)
 #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 (file)
index 0000000..94ba3fd
--- /dev/null
@@ -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
+