Annotation of embedaddon/php/ext/standard/tests/math/pow_variation2.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test pow() function : usage variations - different data types as $exp argument
3: --INI--
4: precision = 14
5: --FILE--
6: <?php
7: /* Prototype : number pow ( number $base , number $exp )
8: * Description: Exponential expression.
9: * Source code: ext/standard/math.c
10: */
11:
12: echo "*** Testing pow() : usage variations ***\n";
13:
14: //get an unset variable
15: $unset_var = 10;
16: unset ($unset_var);
17:
18: // heredoc string
19: $heredoc = <<<EOT
20: abc
21: xyz
22: EOT;
23:
24: // get a class
25: class classA
26: {
27: }
28:
29: // get a resource variable
30: $fp = fopen(__FILE__, "r");
31:
32: $inputs = array(
33: // int data
34: /*1*/ 0,
35: 1,
36: 12345,
37: -2345,
38: 2147483647,
39:
40: // float data
41: /*6*/ 2.5,
42: -2.5,
43: 12.3456789000e10,
44: 12.3456789000E-10,
45: .5,
46:
47: // null data
48: /*11*/ NULL,
49: null,
50:
51: // boolean data
52: /*13*/ true,
53: false,
54: TRUE,
55: FALSE,
56:
57: // empty data
58: /*17*/ "",
59: '',
60: array(),
61:
62: // string data
63: /*20*/ "abcxyz",
64: 'abcxyz',
65: $heredoc,
66:
67: // object data
68: /*23*/ new classA(),
69:
70: // undefined data
71: /*24*/ @$undefined_var,
72:
73: // unset data
74: /*25*/ @$unset_var,
75:
76: // resource variable
77: /*26*/ $fp
78: );
79:
80: // loop through each element of $inputs to check the behaviour of pow()
81: $iterator = 1;
82: foreach($inputs as $input) {
83: echo "\n-- Iteration $iterator --\n";
84: var_dump(pow(20.3, $input));
85: $iterator++;
86: };
87: fclose($fp);
88: ?>
89: ===Done===
90: --EXPECTF--
91: *** Testing pow() : usage variations ***
92:
93: -- Iteration 1 --
94: float(1)
95:
96: -- Iteration 2 --
97: float(20.3)
98:
99: -- Iteration 3 --
100: float(INF)
101:
102: -- Iteration 4 --
103: float(0)
104:
105: -- Iteration 5 --
106: float(INF)
107:
108: -- Iteration 6 --
109: float(1856.6929774279)
110:
111: -- Iteration 7 --
112: float(0.00053859200856424)
113:
114: -- Iteration 8 --
115: float(INF)
116:
117: -- Iteration 9 --
118: float(1.0000000037168)
119:
120: -- Iteration 10 --
121: float(4.5055521304275)
122:
123: -- Iteration 11 --
124: float(1)
125:
126: -- Iteration 12 --
127: float(1)
128:
129: -- Iteration 13 --
130: float(20.3)
131:
132: -- Iteration 14 --
133: float(1)
134:
135: -- Iteration 15 --
136: float(20.3)
137:
138: -- Iteration 16 --
139: float(1)
140:
141: -- Iteration 17 --
142: float(1)
143:
144: -- Iteration 18 --
145: float(1)
146:
147: -- Iteration 19 --
148: float(1)
149:
150: -- Iteration 20 --
151: float(1)
152:
153: -- Iteration 21 --
154: float(1)
155:
156: -- Iteration 22 --
157: float(1)
158:
159: -- Iteration 23 --
160:
161: Notice: Object of class classA could not be converted to int in %s on line %d
162: float(20.3)
163:
164: -- Iteration 24 --
165: float(1)
166:
167: -- Iteration 25 --
168: float(1)
169:
170: -- Iteration 26 --
171: %s
172: ===Done===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>