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