]> granicus.if.org Git - php/commitdiff
A few new tests for math functions - Note the "constants" test will fail on Windows...
authorZoe Slattery <zoe@php.net>
Fri, 1 Feb 2008 17:27:43 +0000 (17:27 +0000)
committerZoe Slattery <zoe@php.net>
Fri, 1 Feb 2008 17:27:43 +0000 (17:27 +0000)
ext/standard/tests/math/atan2_basic.phpt [new file with mode: 0644]
ext/standard/tests/math/atan2_error.phpt [new file with mode: 0644]
ext/standard/tests/math/base_convert_basic.phpt [new file with mode: 0644]
ext/standard/tests/math/base_convert_error.phpt [new file with mode: 0644]
ext/standard/tests/math/bindec_basic.phpt [new file with mode: 0644]
ext/standard/tests/math/bindec_error.phpt [new file with mode: 0644]
ext/standard/tests/math/constants_basic.phpt [new file with mode: 0644]
ext/standard/tests/math/decbin_basic.phpt [new file with mode: 0644]
ext/standard/tests/math/decbin_error.phpt [new file with mode: 0644]

diff --git a/ext/standard/tests/math/atan2_basic.phpt b/ext/standard/tests/math/atan2_basic.phpt
new file mode 100644 (file)
index 0000000..65a0622
--- /dev/null
@@ -0,0 +1,185 @@
+--TEST--
+Test atan2() - basic function test of atan2()
+--INI--
+precision=14
+--FILE--
+<?php
+$valuesy = array(23,
+                               -23,
+                               2.345e1,
+                               -2.345e1,
+                               0x17,
+                               027,
+                               "23",
+                               "23.45",
+                               "2.345e1",                              
+                               null,
+                               true,
+                               false);
+                                       
+$valuesx = array(23,
+                               -23,
+                               2.345e1,
+                               -2.345e1,
+                               0x17,
+                               027,
+                               "23",
+                               "23.45",
+                               "2.345e1",                              
+                               null,
+                               true,
+                               false);                                 
+
+for ($i = 0; $i < count($valuesy); $i++) {
+       for ($j = 0; $j < count($valuesx); $j++) {      
+               $res = atan2($valuesy[$i], $valuesx[$j]);
+               echo "Y:$valuesy[$i] X:$valuesx[$j] ";
+               var_dump($res);
+       }       
+}
+?>
+--EXPECTF--
+Y:23 X:23 float(0.78539816339745)
+Y:23 X:-23 float(2.3561944901923)
+Y:23 X:23.45 float(0.77571063007847)
+Y:23 X:-23.45 float(2.3658820235113)
+Y:23 X:23 float(0.78539816339745)
+Y:23 X:23 float(0.78539816339745)
+Y:23 X:23 float(0.78539816339745)
+Y:23 X:23.45 float(0.77571063007847)
+Y:23 X:2.345e1 float(0.77571063007847)
+Y:23 X: float(1.5707963267949)
+Y:23 X:1 float(1.5273454314034)
+Y:23 X: float(1.5707963267949)
+Y:-23 X:23 float(-0.78539816339745)
+Y:-23 X:-23 float(-2.3561944901923)
+Y:-23 X:23.45 float(-0.77571063007847)
+Y:-23 X:-23.45 float(-2.3658820235113)
+Y:-23 X:23 float(-0.78539816339745)
+Y:-23 X:23 float(-0.78539816339745)
+Y:-23 X:23 float(-0.78539816339745)
+Y:-23 X:23.45 float(-0.77571063007847)
+Y:-23 X:2.345e1 float(-0.77571063007847)
+Y:-23 X: float(-1.5707963267949)
+Y:-23 X:1 float(-1.5273454314034)
+Y:-23 X: float(-1.5707963267949)
+Y:23.45 X:23 float(0.79508569671643)
+Y:23.45 X:-23 float(2.3465069568734)
+Y:23.45 X:23.45 float(0.78539816339745)
+Y:23.45 X:-23.45 float(2.3561944901923)
+Y:23.45 X:23 float(0.79508569671643)
+Y:23.45 X:23 float(0.79508569671643)
+Y:23.45 X:23 float(0.79508569671643)
+Y:23.45 X:23.45 float(0.78539816339745)
+Y:23.45 X:2.345e1 float(0.78539816339745)
+Y:23.45 X: float(1.5707963267949)
+Y:23.45 X:1 float(1.5281782247706)
+Y:23.45 X: float(1.5707963267949)
+Y:-23.45 X:23 float(-0.79508569671643)
+Y:-23.45 X:-23 float(-2.3465069568734)
+Y:-23.45 X:23.45 float(-0.78539816339745)
+Y:-23.45 X:-23.45 float(-2.3561944901923)
+Y:-23.45 X:23 float(-0.79508569671643)
+Y:-23.45 X:23 float(-0.79508569671643)
+Y:-23.45 X:23 float(-0.79508569671643)
+Y:-23.45 X:23.45 float(-0.78539816339745)
+Y:-23.45 X:2.345e1 float(-0.78539816339745)
+Y:-23.45 X: float(-1.5707963267949)
+Y:-23.45 X:1 float(-1.5281782247706)
+Y:-23.45 X: float(-1.5707963267949)
+Y:23 X:23 float(0.78539816339745)
+Y:23 X:-23 float(2.3561944901923)
+Y:23 X:23.45 float(0.77571063007847)
+Y:23 X:-23.45 float(2.3658820235113)
+Y:23 X:23 float(0.78539816339745)
+Y:23 X:23 float(0.78539816339745)
+Y:23 X:23 float(0.78539816339745)
+Y:23 X:23.45 float(0.77571063007847)
+Y:23 X:2.345e1 float(0.77571063007847)
+Y:23 X: float(1.5707963267949)
+Y:23 X:1 float(1.5273454314034)
+Y:23 X: float(1.5707963267949)
+Y:23 X:23 float(0.78539816339745)
+Y:23 X:-23 float(2.3561944901923)
+Y:23 X:23.45 float(0.77571063007847)
+Y:23 X:-23.45 float(2.3658820235113)
+Y:23 X:23 float(0.78539816339745)
+Y:23 X:23 float(0.78539816339745)
+Y:23 X:23 float(0.78539816339745)
+Y:23 X:23.45 float(0.77571063007847)
+Y:23 X:2.345e1 float(0.77571063007847)
+Y:23 X: float(1.5707963267949)
+Y:23 X:1 float(1.5273454314034)
+Y:23 X: float(1.5707963267949)
+Y:23 X:23 float(0.78539816339745)
+Y:23 X:-23 float(2.3561944901923)
+Y:23 X:23.45 float(0.77571063007847)
+Y:23 X:-23.45 float(2.3658820235113)
+Y:23 X:23 float(0.78539816339745)
+Y:23 X:23 float(0.78539816339745)
+Y:23 X:23 float(0.78539816339745)
+Y:23 X:23.45 float(0.77571063007847)
+Y:23 X:2.345e1 float(0.77571063007847)
+Y:23 X: float(1.5707963267949)
+Y:23 X:1 float(1.5273454314034)
+Y:23 X: float(1.5707963267949)
+Y:23.45 X:23 float(0.79508569671643)
+Y:23.45 X:-23 float(2.3465069568734)
+Y:23.45 X:23.45 float(0.78539816339745)
+Y:23.45 X:-23.45 float(2.3561944901923)
+Y:23.45 X:23 float(0.79508569671643)
+Y:23.45 X:23 float(0.79508569671643)
+Y:23.45 X:23 float(0.79508569671643)
+Y:23.45 X:23.45 float(0.78539816339745)
+Y:23.45 X:2.345e1 float(0.78539816339745)
+Y:23.45 X: float(1.5707963267949)
+Y:23.45 X:1 float(1.5281782247706)
+Y:23.45 X: float(1.5707963267949)
+Y:2.345e1 X:23 float(0.79508569671643)
+Y:2.345e1 X:-23 float(2.3465069568734)
+Y:2.345e1 X:23.45 float(0.78539816339745)
+Y:2.345e1 X:-23.45 float(2.3561944901923)
+Y:2.345e1 X:23 float(0.79508569671643)
+Y:2.345e1 X:23 float(0.79508569671643)
+Y:2.345e1 X:23 float(0.79508569671643)
+Y:2.345e1 X:23.45 float(0.78539816339745)
+Y:2.345e1 X:2.345e1 float(0.78539816339745)
+Y:2.345e1 X: float(1.5707963267949)
+Y:2.345e1 X:1 float(1.5281782247706)
+Y:2.345e1 X: float(1.5707963267949)
+Y: X:23 float(0)
+Y: X:-23 float(3.1415926535898)
+Y: X:23.45 float(0)
+Y: X:-23.45 float(3.1415926535898)
+Y: X:23 float(0)
+Y: X:23 float(0)
+Y: X:23 float(0)
+Y: X:23.45 float(0)
+Y: X:2.345e1 float(0)
+Y: X: float(0)
+Y: X:1 float(0)
+Y: X: float(0)
+Y:1 X:23 float(0.043450895391531)
+Y:1 X:-23 float(3.0981417581983)
+Y:1 X:23.45 float(0.042618102024328)
+Y:1 X:-23.45 float(3.0989745515655)
+Y:1 X:23 float(0.043450895391531)
+Y:1 X:23 float(0.043450895391531)
+Y:1 X:23 float(0.043450895391531)
+Y:1 X:23.45 float(0.042618102024328)
+Y:1 X:2.345e1 float(0.042618102024328)
+Y:1 X: float(1.5707963267949)
+Y:1 X:1 float(0.78539816339745)
+Y:1 X: float(1.5707963267949)
+Y: X:23 float(0)
+Y: X:-23 float(3.1415926535898)
+Y: X:23.45 float(0)
+Y: X:-23.45 float(3.1415926535898)
+Y: X:23 float(0)
+Y: X:23 float(0)
+Y: X:23 float(0)
+Y: X:23.45 float(0)
+Y: X:2.345e1 float(0)
+Y: X: float(0)
+Y: X:1 float(0)
+Y: X: float(0)
diff --git a/ext/standard/tests/math/atan2_error.phpt b/ext/standard/tests/math/atan2_error.phpt
new file mode 100644 (file)
index 0000000..b56843e
--- /dev/null
@@ -0,0 +1,15 @@
+--TEST--
+Test atan2() - wrong params atan2()
+--FILE--
+<?php
+atan2();
+atan2(36);
+atan2(36,25,0);
+?>
+--EXPECTF--
+
+Warning: Wrong parameter count for atan2() in %s on line 2
+
+Warning: Wrong parameter count for atan2() in %s on line 3
+
+Warning: Wrong parameter count for atan2() in %s on line 4
diff --git a/ext/standard/tests/math/base_convert_basic.phpt b/ext/standard/tests/math/base_convert_basic.phpt
new file mode 100644 (file)
index 0000000..327f47c
--- /dev/null
@@ -0,0 +1,316 @@
+--TEST--
+Test base_convert() - basic function tests base_convert()
+--FILE--
+<?php
+$frombase = array(2,8,10,16,36);
+$tobase = array(2,8,10,16,36);
+
+$values = array(10,
+                               27,
+                               39,
+                               039,
+                               0x5F,   
+                               "10",
+                               "27",
+                               "39",
+                               "5F", 
+                               "3XYZ"
+                               );      
+
+for ($f= 0; $f < count($frombase); $f++) {
+       echo "\n...from base is ", $frombase[$f], "\n";
+       for ($t= 0; $t < count($tobase); $t++) {
+               echo "......to base is ", $tobase[$t], "\n";    
+               for ($i =0; $i < count($values); $i++){         
+                       $res = base_convert($values[$i],$frombase[$f],$tobase[$t]);
+                       echo ".........value= ", $values[$i], " res = ", $res, "\n";
+               }               
+       }       
+}
+?>
+
+--EXPECTF--
+...from base is 2
+......to base is 2
+.........value= 10 res = 10
+.........value= 27 res = 0
+.........value= 39 res = 0
+.........value= 3 res = 0
+.........value= 95 res = 0
+.........value= 10 res = 10
+.........value= 27 res = 0
+.........value= 39 res = 0
+.........value= 5F res = 0
+.........value= 3XYZ res = 0
+......to base is 8
+.........value= 10 res = 2
+.........value= 27 res = 0
+.........value= 39 res = 0
+.........value= 3 res = 0
+.........value= 95 res = 0
+.........value= 10 res = 2
+.........value= 27 res = 0
+.........value= 39 res = 0
+.........value= 5F res = 0
+.........value= 3XYZ res = 0
+......to base is 10
+.........value= 10 res = 2
+.........value= 27 res = 0
+.........value= 39 res = 0
+.........value= 3 res = 0
+.........value= 95 res = 0
+.........value= 10 res = 2
+.........value= 27 res = 0
+.........value= 39 res = 0
+.........value= 5F res = 0
+.........value= 3XYZ res = 0
+......to base is 16
+.........value= 10 res = 2
+.........value= 27 res = 0
+.........value= 39 res = 0
+.........value= 3 res = 0
+.........value= 95 res = 0
+.........value= 10 res = 2
+.........value= 27 res = 0
+.........value= 39 res = 0
+.........value= 5F res = 0
+.........value= 3XYZ res = 0
+......to base is 36
+.........value= 10 res = 2
+.........value= 27 res = 0
+.........value= 39 res = 0
+.........value= 3 res = 0
+.........value= 95 res = 0
+.........value= 10 res = 2
+.........value= 27 res = 0
+.........value= 39 res = 0
+.........value= 5F res = 0
+.........value= 3XYZ res = 0
+
+...from base is 8
+......to base is 2
+.........value= 10 res = 1000
+.........value= 27 res = 10111
+.........value= 39 res = 11
+.........value= 3 res = 11
+.........value= 95 res = 101
+.........value= 10 res = 1000
+.........value= 27 res = 10111
+.........value= 39 res = 11
+.........value= 5F res = 101
+.........value= 3XYZ res = 11
+......to base is 8
+.........value= 10 res = 10
+.........value= 27 res = 27
+.........value= 39 res = 3
+.........value= 3 res = 3
+.........value= 95 res = 5
+.........value= 10 res = 10
+.........value= 27 res = 27
+.........value= 39 res = 3
+.........value= 5F res = 5
+.........value= 3XYZ res = 3
+......to base is 10
+.........value= 10 res = 8
+.........value= 27 res = 23
+.........value= 39 res = 3
+.........value= 3 res = 3
+.........value= 95 res = 5
+.........value= 10 res = 8
+.........value= 27 res = 23
+.........value= 39 res = 3
+.........value= 5F res = 5
+.........value= 3XYZ res = 3
+......to base is 16
+.........value= 10 res = 8
+.........value= 27 res = 17
+.........value= 39 res = 3
+.........value= 3 res = 3
+.........value= 95 res = 5
+.........value= 10 res = 8
+.........value= 27 res = 17
+.........value= 39 res = 3
+.........value= 5F res = 5
+.........value= 3XYZ res = 3
+......to base is 36
+.........value= 10 res = 8
+.........value= 27 res = n
+.........value= 39 res = 3
+.........value= 3 res = 3
+.........value= 95 res = 5
+.........value= 10 res = 8
+.........value= 27 res = n
+.........value= 39 res = 3
+.........value= 5F res = 5
+.........value= 3XYZ res = 3
+
+...from base is 10
+......to base is 2
+.........value= 10 res = 1010
+.........value= 27 res = 11011
+.........value= 39 res = 100111
+.........value= 3 res = 11
+.........value= 95 res = 1011111
+.........value= 10 res = 1010
+.........value= 27 res = 11011
+.........value= 39 res = 100111
+.........value= 5F res = 101
+.........value= 3XYZ res = 11
+......to base is 8
+.........value= 10 res = 12
+.........value= 27 res = 33
+.........value= 39 res = 47
+.........value= 3 res = 3
+.........value= 95 res = 137
+.........value= 10 res = 12
+.........value= 27 res = 33
+.........value= 39 res = 47
+.........value= 5F res = 5
+.........value= 3XYZ res = 3
+......to base is 10
+.........value= 10 res = 10
+.........value= 27 res = 27
+.........value= 39 res = 39
+.........value= 3 res = 3
+.........value= 95 res = 95
+.........value= 10 res = 10
+.........value= 27 res = 27
+.........value= 39 res = 39
+.........value= 5F res = 5
+.........value= 3XYZ res = 3
+......to base is 16
+.........value= 10 res = a
+.........value= 27 res = 1b
+.........value= 39 res = 27
+.........value= 3 res = 3
+.........value= 95 res = 5f
+.........value= 10 res = a
+.........value= 27 res = 1b
+.........value= 39 res = 27
+.........value= 5F res = 5
+.........value= 3XYZ res = 3
+......to base is 36
+.........value= 10 res = a
+.........value= 27 res = r
+.........value= 39 res = 13
+.........value= 3 res = 3
+.........value= 95 res = 2n
+.........value= 10 res = a
+.........value= 27 res = r
+.........value= 39 res = 13
+.........value= 5F res = 5
+.........value= 3XYZ res = 3
+
+...from base is 16
+......to base is 2
+.........value= 10 res = 10000
+.........value= 27 res = 100111
+.........value= 39 res = 111001
+.........value= 3 res = 11
+.........value= 95 res = 10010101
+.........value= 10 res = 10000
+.........value= 27 res = 100111
+.........value= 39 res = 111001
+.........value= 5F res = 1011111
+.........value= 3XYZ res = 11
+......to base is 8
+.........value= 10 res = 20
+.........value= 27 res = 47
+.........value= 39 res = 71
+.........value= 3 res = 3
+.........value= 95 res = 225
+.........value= 10 res = 20
+.........value= 27 res = 47
+.........value= 39 res = 71
+.........value= 5F res = 137
+.........value= 3XYZ res = 3
+......to base is 10
+.........value= 10 res = 16
+.........value= 27 res = 39
+.........value= 39 res = 57
+.........value= 3 res = 3
+.........value= 95 res = 149
+.........value= 10 res = 16
+.........value= 27 res = 39
+.........value= 39 res = 57
+.........value= 5F res = 95
+.........value= 3XYZ res = 3
+......to base is 16
+.........value= 10 res = 10
+.........value= 27 res = 27
+.........value= 39 res = 39
+.........value= 3 res = 3
+.........value= 95 res = 95
+.........value= 10 res = 10
+.........value= 27 res = 27
+.........value= 39 res = 39
+.........value= 5F res = 5f
+.........value= 3XYZ res = 3
+......to base is 36
+.........value= 10 res = g
+.........value= 27 res = 13
+.........value= 39 res = 1l
+.........value= 3 res = 3
+.........value= 95 res = 45
+.........value= 10 res = g
+.........value= 27 res = 13
+.........value= 39 res = 1l
+.........value= 5F res = 2n
+.........value= 3XYZ res = 3
+
+...from base is 36
+......to base is 2
+.........value= 10 res = 100100
+.........value= 27 res = 1001111
+.........value= 39 res = 1110101
+.........value= 3 res = 11
+.........value= 95 res = 101001001
+.........value= 10 res = 100100
+.........value= 27 res = 1001111
+.........value= 39 res = 1110101
+.........value= 5F res = 11000011
+.........value= 3XYZ res = 101100111010111011
+......to base is 8
+.........value= 10 res = 44
+.........value= 27 res = 117
+.........value= 39 res = 165
+.........value= 3 res = 3
+.........value= 95 res = 511
+.........value= 10 res = 44
+.........value= 27 res = 117
+.........value= 39 res = 165
+.........value= 5F res = 303
+.........value= 3XYZ res = 547273
+......to base is 10
+.........value= 10 res = 36
+.........value= 27 res = 79
+.........value= 39 res = 117
+.........value= 3 res = 3
+.........value= 95 res = 329
+.........value= 10 res = 36
+.........value= 27 res = 79
+.........value= 39 res = 117
+.........value= 5F res = 195
+.........value= 3XYZ res = 183995
+......to base is 16
+.........value= 10 res = 24
+.........value= 27 res = 4f
+.........value= 39 res = 75
+.........value= 3 res = 3
+.........value= 95 res = 149
+.........value= 10 res = 24
+.........value= 27 res = 4f
+.........value= 39 res = 75
+.........value= 5F res = c3
+.........value= 3XYZ res = 2cebb
+......to base is 36
+.........value= 10 res = 10
+.........value= 27 res = 27
+.........value= 39 res = 39
+.........value= 3 res = 3
+.........value= 95 res = 95
+.........value= 10 res = 10
+.........value= 27 res = 27
+.........value= 39 res = 39
+.........value= 5F res = 5f
+.........value= 3XYZ res = 3xyz
\ No newline at end of file
diff --git a/ext/standard/tests/math/base_convert_error.phpt b/ext/standard/tests/math/base_convert_error.phpt
new file mode 100644 (file)
index 0000000..7806c56
--- /dev/null
@@ -0,0 +1,21 @@
+--TEST--
+Test base_convert() - wrong params base_convert()
+--FILE--
+<?php
+base_convert();
+base_convert(35);
+base_convert(35,2);
+base_convert(1234, 1, 10);
+base_convert(1234, 10, 37);
+?>
+--EXPECTF--
+
+Warning: Wrong parameter count for base_convert() in %s on line 2
+
+Warning: Wrong parameter count for base_convert() in %s on line 3
+
+Warning: Wrong parameter count for base_convert() in %s on line 4
+
+Warning: base_convert(): Invalid `from base' (1) in %s on line 5
+
+Warning: base_convert(): Invalid `to base' (37) in %s on line 6
diff --git a/ext/standard/tests/math/bindec_basic.phpt b/ext/standard/tests/math/bindec_basic.phpt
new file mode 100644 (file)
index 0000000..fe9ab09
--- /dev/null
@@ -0,0 +1,49 @@
+--TEST--
+Test bindec() - basic function test bindec()
+--FILE--
+<?php
+$values = array(111000111,
+                               011100000,
+                               1111111111111111111111111111111,
+                               10000000000000000000000000000000,
+                               100002001,
+                               '111000111',
+                               '011100000',
+                               '1111111111111111111111111111111',
+                               '10000000000000000000000000000000',
+                               '100002001',
+                               'abcdefg',
+                               311015,
+                               31101.3,
+                               31.1013e5,
+                               0x111ABC,
+                               011237,                         
+                               true,
+                               false,
+                               null);  
+
+for ($i = 0; $i < count($values); $i++) {
+       $res = bindec($values[$i]);
+       var_dump($res);
+}
+?>
+--EXPECTF--
+int(455)
+int(0)
+int(32766)
+int(5)
+int(129)
+int(455)
+int(224)
+int(2147483647)
+float(2147483648)
+int(129)
+int(0)
+int(13)
+int(13)
+int(26)
+int(6)
+int(0)
+int(1)
+int(0)
+int(0)
\ No newline at end of file
diff --git a/ext/standard/tests/math/bindec_error.phpt b/ext/standard/tests/math/bindec_error.phpt
new file mode 100644 (file)
index 0000000..36193b6
--- /dev/null
@@ -0,0 +1,12 @@
+--TEST--
+Test bindec() - basic function test bindec()
+--FILE--
+<?php
+bindec();
+bindec('01010101111',true);
+?>
+--EXPECTF--
+
+Warning: Wrong parameter count for bindec() in %s on line 2
+
+Warning: Wrong parameter count for bindec() in %s on line 3
diff --git a/ext/standard/tests/math/constants_basic.phpt b/ext/standard/tests/math/constants_basic.phpt
new file mode 100644 (file)
index 0000000..0220d93
--- /dev/null
@@ -0,0 +1,65 @@
+--TEST--
+Test for pre-defined math constants  
+--INI--
+precision=14
+--FILE--
+<?php
+echo "M_E= ";
+var_dump(M_E);
+echo "M_LOG2E= ";
+var_dump(M_LOG2E);
+echo "M_LOG10E= ";
+var_dump(M_LOG10E);
+echo "M_LN2= ";
+var_dump(M_LN2);
+echo "M_LN10= ";
+var_dump(M_LN10);
+echo "M_PI= ";
+var_dump(M_PI);
+echo "M_PI_2= ";
+var_dump(M_PI_2);
+echo "M_PI_4= ";
+var_dump(M_PI_4);
+echo "M_1_PI= ";
+var_dump(M_1_PI);
+echo "M_2_PI= ";
+var_dump(M_2_PI);
+echo "M_SQRTPI= ";
+var_dump(M_SQRTPI);
+echo "M_2_SQRTPI= ";
+var_dump(M_2_SQRTPI);
+echo "M_LNPI= ";
+var_dump(M_LNPI);
+echo "M_EULER= ";
+var_dump(M_EULER);
+echo "M_SQRT2= ";
+var_dump(M_SQRT2);
+echo "M_SQRT1_2= ";
+var_dump(M_SQRT1_2);
+echo "M_SQRT3= ";
+var_dump(M_SQRT3);
+echo "INF= ";
+var_dump(INF);
+echo "NAN= ";
+var_dump(NAN);
+?>
+--EXPECT--
+M_E= float(2.718281828459)
+M_LOG2E= float(1.442695040889)
+M_LOG10E= float(0.43429448190325)
+M_LN2= float(0.69314718055995)
+M_LN10= float(2.302585092994)
+M_PI= float(3.1415926535898)
+M_PI_2= float(1.5707963267949)
+M_PI_4= float(0.78539816339745)
+M_1_PI= float(0.31830988618379)
+M_2_PI= float(0.63661977236758)
+M_SQRTPI= float(1.7724538509055)
+M_2_SQRTPI= float(1.1283791670955)
+M_LNPI= float(1.1447298858494)
+M_EULER= float(0.57721566490153)
+M_SQRT2= float(1.4142135623731)
+M_SQRT1_2= float(0.70710678118655)
+M_SQRT3= float(1.7320508075689)
+INF= float(INF)
+NAN= float(NAN)
diff --git a/ext/standard/tests/math/decbin_basic.phpt b/ext/standard/tests/math/decbin_basic.phpt
new file mode 100644 (file)
index 0000000..e6fc5dc
--- /dev/null
@@ -0,0 +1,39 @@
+--TEST--
+Test decbin() - basic function test
+--FILE--
+<?php
+$values = array(10,
+                               3950.5,
+                               3.9505e3,
+                               039,
+                               0x5F,   
+                               "10",
+                               "3950.5",
+                               "3.9505e3",
+                               "039",
+                               "0x5F",
+                               true,
+                               false,
+                               null, 
+                               );      
+
+for ($i = 0; $i < count($values); $i++) {
+       $res = decbin($values[$i]);
+       var_dump($res);
+}
+?>
+
+--EXPECTF--
+string(4) "1010"
+string(12) "111101101110"
+string(12) "111101101110"
+string(2) "11"
+string(7) "1011111"
+string(4) "1010"
+string(12) "111101101110"
+string(2) "11"
+string(6) "100111"
+string(1) "0"
+string(1) "1"
+string(1) "0"
+string(1) "0"
\ No newline at end of file
diff --git a/ext/standard/tests/math/decbin_error.phpt b/ext/standard/tests/math/decbin_error.phpt
new file mode 100644 (file)
index 0000000..a350cee
--- /dev/null
@@ -0,0 +1,13 @@
+--TEST--
+Test decbin() - wrong params
+--FILE--
+<?php
+decbin();
+decbin(23,2,true);
+?>
+--EXPECTF--
+
+Warning: Wrong parameter count for decbin() in %s on line 2
+
+Warning: Wrong parameter count for decbin() in %s on line 3
+