Annotation of embedaddon/php/ext/standard/tests/math/pow.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Various pow() tests
3: --FILE--
4: <?php // $Id: pow.phpt 242949 2007-09-26 15:44:16Z cvs2svn $
5:
6: define('LONG_MAX', is_int(5000000000)? 9223372036854775807 : 0x7FFFFFFF);
7: define('LONG_MIN', -LONG_MAX - 1);
8: printf("%d,%d,%d,%d\n",is_int(LONG_MIN ),is_int(LONG_MAX ),
9: is_int(LONG_MIN-1),is_int(LONG_MAX+1));
10:
11: $tests = <<<TESTS
12: 0.25 === pow(-2,-2)
13: -0.5 === pow(-2,-1)
14: 1 === pow(-2, 0)
15: -2 === pow(-2, 1)
16: 4 === pow(-2, 2)
17: 1.0 === pow(-1,-2)
18: -1.0 === pow(-1,-1)
19: 1 === pow(-1, 0)
20: -1 === pow(-1, 1)
21: 1 === pow(-1, 2)
22: TRUE === is_infinite(pow(0,-2))
23: TRUE === is_infinite(pow(0,-1))
24: 1 === pow( 0, 0)
25: 0 === pow( 0, 1)
26: 0 === pow( 0, 2)
27: 1.0 === pow( 1,-2)
28: 1.0 === pow( 1,-1)
29: 1 === pow( 1, 0)
30: 1 === pow( 1, 1)
31: 1 === pow( 1, 2)
32: 0.25 === pow( 2,-2)
33: 0.5 === pow( 2,-1)
34: 1 === pow( 2, 0)
35: 2 === pow( 2, 1)
36: 4 === pow( 2, 2)
37: 0.25 === pow(-2,-2.0)
38: -0.5 === pow(-2,-1.0)
39: 1.0 === pow(-2, 0.0)
40: -2.0 === pow(-2, 1.0)
41: 4.0 === pow(-2, 2.0)
42: 1.0 === pow(-1,-2.0)
43: -1.0 === pow(-1,-1.0)
44: 1.0 === pow(-1, 0.0)
45: -1.0 === pow(-1, 1.0)
46: 1.0 === pow(-1, 2.0)
47: TRUE === is_infinite(pow(0,-2.0))
48: TRUE === is_infinite(pow(0,-1.0))
49: 1.0 === pow( 0, 0.0)
50: 0.0 === pow( 0, 1.0)
51: 0.0 === pow( 0, 2.0)
52: 1.0 === pow( 1,-2.0)
53: 1.0 === pow( 1,-1.0)
54: 1.0 === pow( 1, 0.0)
55: 1.0 === pow( 1, 1.0)
56: 1.0 === pow( 1, 2.0)
57: 0.25 === pow( 2,-2.0)
58: 0.5 === pow( 2,-1.0)
59: 1.0 === pow( 2, 0.0)
60: 2.0 === pow( 2, 1.0)
61: 4.0 === pow( 2, 2.0)
62: 2147483648 === pow(2,31)
63: -2147483648 ~== pow(-2,31)
64: 1000000000 === pow(10,9)
65: 100000000 === pow(-10,8)
66: 1 === pow(-1,1443279822)
67: -1 === pow(-1,1443279821)
68: sqrt(2) ~== pow(2,1/2)
69: 0.25 === pow(-2.0,-2.0)
70: -0.5 === pow(-2.0,-1.0)
71: 1.0 === pow(-2.0, 0.0)
72: -2.0 === pow(-2.0, 1.0)
73: 4.0 === pow(-2.0, 2.0)
74: 1.0 === pow(-1.0,-2.0)
75: -1.0 === pow(-1.0,-1.0)
76: 1.0 === pow(-1.0, 0.0)
77: -1.0 === pow(-1.0, 1.0)
78: 1.0 === pow(-1.0, 2.0)
79: TRUE === is_infinite(pow(0.0,-2.0))
80: TRUE === is_infinite(pow(0.0,-1.0))
81: 1.0 === pow( 0.0, 0.0)
82: 0.0 === pow( 0.0, 1.0)
83: 0.0 === pow( 0.0, 2.0)
84: 1.0 === pow( 1.0,-2.0)
85: 1.0 === pow( 1.0,-1.0)
86: 1.0 === pow( 1.0, 0.0)
87: 1.0 === pow( 1.0, 1.0)
88: 1.0 === pow( 1.0, 2.0)
89: 0.25 === pow( 2.0,-2.0)
90: 0.5 === pow( 2.0,-1.0)
91: 1.0 === pow( 2.0, 0.0)
92: 2.0 === pow( 2.0, 1.0)
93: 4.0 === pow( 2.0, 2.0)
94: 0.25 === pow(-2.0,-2)
95: -0.5 === pow(-2.0,-1)
96: 1.0 === pow(-2.0, 0)
97: -2.0 === pow(-2.0, 1)
98: 4.0 === pow(-2.0, 2)
99: 1.0 === pow(-1.0,-2)
100: -1.0 === pow(-1.0,-1)
101: 1.0 === pow(-1.0, 0)
102: -1.0 === pow(-1.0, 1)
103: 1.0 === pow(-1.0, 2)
104: TRUE === is_infinite(pow( 0.0,-2))
105: TRUE === is_infinite(pow( 0.0,-1))
106: 1.0 === pow( 0.0, 0)
107: 0.0 === pow( 0.0, 1)
108: 0.0 === pow( 0.0, 2)
109: 1.0 === pow( 1.0,-2)
110: 1.0 === pow( 1.0,-1)
111: 1.0 === pow( 1.0, 0)
112: 1.0 === pow( 1.0, 1)
113: 1.0 === pow( 1.0, 2)
114: 0.25 === pow( 2.0,-2)
115: 0.5 === pow( 2.0,-1)
116: 1.0 === pow( 2.0, 0)
117: 2.0 === pow( 2.0, 1)
118: 4.0 === pow( 2.0, 2)
119: 2.0 === pow( 4, 0.5)
120: 2.0 === pow( 4.0, 0.5)
121: 3.0 === pow( 27, 1/3)
122: 3.0 === pow(27.0, 1/3)
123: 0.5 === pow( 4, -0.5)
124: 0.5 === pow( 4.0, -0.5)
125: LONG_MAX-1 === pow(LONG_MAX-1,1)
126: LONG_MIN+1 === pow(LONG_MIN+1,1)
127: (LONG_MAX-1)*(LONG_MAX-1) ~== pow(LONG_MAX-1,2)
128: (LONG_MIN+1)*(LONG_MIN+1) ~== pow(LONG_MIN+1,2)
129: (float)(LONG_MAX-1) === pow(LONG_MAX-1,1.0)
130: (float)(LONG_MIN+1) === pow(LONG_MIN+1,1.0)
131: (LONG_MAX-1)*(LONG_MAX-1) ~== pow(LONG_MAX-1,2.0)
132: (LONG_MIN+1)*(LONG_MIN+1) ~== pow(LONG_MIN+1,2.0)
133: LONG_MAX === pow(LONG_MAX,1)
134: LONG_MIN === pow(LONG_MIN,1)
135: LONG_MAX*LONG_MAX ~== pow(LONG_MAX,2)
136: LONG_MIN*LONG_MIN ~== pow(LONG_MIN,2)
137: (float)LONG_MAX === pow(LONG_MAX,1.0)
138: (float)LONG_MIN === pow(LONG_MIN,1.0)
139: LONG_MAX*LONG_MAX ~== pow(LONG_MAX,2.0)
140: LONG_MIN*LONG_MIN ~== pow(LONG_MIN,2.0)
141: TESTS;
142:
143: echo "On failure, please mail result to php-dev@lists.php.net\n";
144: include(dirname(__FILE__) . '/../../../../tests/quicktester.inc');
145:
146: --EXPECT--
147: 1,1,0,0
148: On failure, please mail result to php-dev@lists.php.net
149: OK
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>