1
0
mirror of https://github.com/php/php-src.git synced 2026-03-27 17:52:16 +01:00

Register missing math constants (been missing since 4.0.2!)

Remove M_PI from math.c (its defined in php_math.h)
This commit is contained in:
Hannes Magnusson
2006-08-27 18:20:39 +00:00
parent ea2891fa9d
commit 089b2ab93f
3 changed files with 50 additions and 4 deletions

View File

@@ -3976,9 +3976,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);

View File

@@ -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

View File

@@ -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