Annotation of embedaddon/php/ext/standard/tests/general_functions/is_float_64bit.phpt, revision 1.1.1.1
1.1 misho 1: --TEST--
2: Test is_float() & it's FALIASes: is_double() & is_real() functions
3: --SKIPIF--
4: <?php
5: if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
6: ?>
7: --INI--
8: precision=14
9: --FILE--
10: <?php
11: /* Prototype: bool is_float ( mixed $var );
12: * Description: Finds whether the given variable is a float
13: */
14:
15: echo "*** Testing is_float(), is_double() and is_real() with float values***\n";
16: // different valid float vlaues
17: $floats = array(
18: -2147483649, // float value
19: 2147483648, // float value
20: -0x80000001, // float value, beyond max negative int
21: 0x800000001, // float value, beyond max positive int
22: 020000000001, // float value, beyond max positive int
23: -020000000001, // float value, beyond max negative int
24: 0.0,
25: -0.1,
26: 10.0000000000000000005,
27: 10.5e+5,
28: 1e5,
29: -1e5,
30: 1e-5,
31: -1e-5,
32: 1e+5,
33: -1e+5,
34: 1E5,
35: -1E5,
36: 1E+5,
37: -1E+5,
38: 1E-5,
39: -1E-5,
40: .5e+7,
41: -.5e+7,
42: .6e-19,
43: -.6e-19,
44: .05E+44,
45: -.05E+44,
46: .0034E-30,
47: -.0034E-30
48: );
49: /* loop to check that is_float(), is_double() & is_real() recognizes
50: different float values, expected: bool(true) */
51: $loop_counter = 1;
52: foreach ($floats as $float ) {
53: echo "-- Iteration $loop_counter --\n"; $loop_counter++;
54: var_dump( is_float($float) );
55: var_dump( is_double($float) );
56: var_dump( is_real($float) );
57: }
58:
59: echo "\n*** Testing is_float(), is_double() & is_real() with non float values ***\n";
60: // get a resource type variable
61: $fp = fopen (__FILE__, "r");
62: $dfp = opendir ( dirname(__FILE__) );
63:
64: // unset variable
65: $unset_var = 10;
66: unset ($unset_var);
67:
68: // non_scalar values, objects, arrays, resources and boolean
69: class foo
70: {
71: var $array = array(10.5);
72: };
73: $object = new foo();
74:
75: $not_floats = array (
76: new foo, //object
77: $object,
78:
79: $fp, // resource
80: $dfp,
81:
82: array(), // arrays
83: array(NULL),
84: array(0.5e10),
85: array(1,2,3,4),
86: array("string"),
87:
88: NULL, // nulls
89: null,
90:
91: true, // boolean
92: TRUE,
93: false,
94: FALSE,
95:
96: "", // strings
97: '',
98: "0",
99: '0',
100: "0.0",
101: '0.0',
102: '0.5',
103: "-0.5",
104: "1e5",
105: '1e5',
106: '1.5e6_string',
107: "1.5e6_string",
108:
109: 1, // integers, hex and octal
110: -1,
111: 0,
112: 12345,
113: 0xFF55,
114: -0x673,
115: 0123,
116: -0123,
117:
118: @$unset_var, // unset variable
119: @$undefined_var
120: );
121: /* loop through the $not_floats to see working of
122: is_float(), is_double() & is_real() on objects,
123: arrays, boolean and others */
124: $loop_counter = 1;
125: foreach ($not_floats as $value ) {
126: echo "--Iteration $loop_counter--\n"; $loop_counter++;
127: var_dump( is_float($value) );
128: var_dump( is_double($value) );
129: var_dump( is_real($value) );
130: }
131:
132: echo "\n*** Testing error conditions ***\n";
133: //Zero argument
134: var_dump( is_float() );
135: var_dump( is_double() );
136: var_dump( is_real() );
137:
138: //arguments more than expected
139: var_dump( is_float( $floats[0], $floats[1]) );
140: var_dump( is_double( $floats[0], $floats[1]) );
141: var_dump( is_real( $floats[0], $floats[1]) );
142:
143: echo "Done\n";
144: ?>
145: --EXPECTF--
146: *** Testing is_float(), is_double() and is_real() with float values***
147: -- Iteration 1 --
148: bool(false)
149: bool(false)
150: bool(false)
151: -- Iteration 2 --
152: bool(false)
153: bool(false)
154: bool(false)
155: -- Iteration 3 --
156: bool(false)
157: bool(false)
158: bool(false)
159: -- Iteration 4 --
160: bool(false)
161: bool(false)
162: bool(false)
163: -- Iteration 5 --
164: bool(false)
165: bool(false)
166: bool(false)
167: -- Iteration 6 --
168: bool(false)
169: bool(false)
170: bool(false)
171: -- Iteration 7 --
172: bool(true)
173: bool(true)
174: bool(true)
175: -- Iteration 8 --
176: bool(true)
177: bool(true)
178: bool(true)
179: -- Iteration 9 --
180: bool(true)
181: bool(true)
182: bool(true)
183: -- Iteration 10 --
184: bool(true)
185: bool(true)
186: bool(true)
187: -- Iteration 11 --
188: bool(true)
189: bool(true)
190: bool(true)
191: -- Iteration 12 --
192: bool(true)
193: bool(true)
194: bool(true)
195: -- Iteration 13 --
196: bool(true)
197: bool(true)
198: bool(true)
199: -- Iteration 14 --
200: bool(true)
201: bool(true)
202: bool(true)
203: -- Iteration 15 --
204: bool(true)
205: bool(true)
206: bool(true)
207: -- Iteration 16 --
208: bool(true)
209: bool(true)
210: bool(true)
211: -- Iteration 17 --
212: bool(true)
213: bool(true)
214: bool(true)
215: -- Iteration 18 --
216: bool(true)
217: bool(true)
218: bool(true)
219: -- Iteration 19 --
220: bool(true)
221: bool(true)
222: bool(true)
223: -- Iteration 20 --
224: bool(true)
225: bool(true)
226: bool(true)
227: -- Iteration 21 --
228: bool(true)
229: bool(true)
230: bool(true)
231: -- Iteration 22 --
232: bool(true)
233: bool(true)
234: bool(true)
235: -- Iteration 23 --
236: bool(true)
237: bool(true)
238: bool(true)
239: -- Iteration 24 --
240: bool(true)
241: bool(true)
242: bool(true)
243: -- Iteration 25 --
244: bool(true)
245: bool(true)
246: bool(true)
247: -- Iteration 26 --
248: bool(true)
249: bool(true)
250: bool(true)
251: -- Iteration 27 --
252: bool(true)
253: bool(true)
254: bool(true)
255: -- Iteration 28 --
256: bool(true)
257: bool(true)
258: bool(true)
259: -- Iteration 29 --
260: bool(true)
261: bool(true)
262: bool(true)
263: -- Iteration 30 --
264: bool(true)
265: bool(true)
266: bool(true)
267:
268: *** Testing is_float(), is_double() & is_real() with non float values ***
269: --Iteration 1--
270: bool(false)
271: bool(false)
272: bool(false)
273: --Iteration 2--
274: bool(false)
275: bool(false)
276: bool(false)
277: --Iteration 3--
278: bool(false)
279: bool(false)
280: bool(false)
281: --Iteration 4--
282: bool(false)
283: bool(false)
284: bool(false)
285: --Iteration 5--
286: bool(false)
287: bool(false)
288: bool(false)
289: --Iteration 6--
290: bool(false)
291: bool(false)
292: bool(false)
293: --Iteration 7--
294: bool(false)
295: bool(false)
296: bool(false)
297: --Iteration 8--
298: bool(false)
299: bool(false)
300: bool(false)
301: --Iteration 9--
302: bool(false)
303: bool(false)
304: bool(false)
305: --Iteration 10--
306: bool(false)
307: bool(false)
308: bool(false)
309: --Iteration 11--
310: bool(false)
311: bool(false)
312: bool(false)
313: --Iteration 12--
314: bool(false)
315: bool(false)
316: bool(false)
317: --Iteration 13--
318: bool(false)
319: bool(false)
320: bool(false)
321: --Iteration 14--
322: bool(false)
323: bool(false)
324: bool(false)
325: --Iteration 15--
326: bool(false)
327: bool(false)
328: bool(false)
329: --Iteration 16--
330: bool(false)
331: bool(false)
332: bool(false)
333: --Iteration 17--
334: bool(false)
335: bool(false)
336: bool(false)
337: --Iteration 18--
338: bool(false)
339: bool(false)
340: bool(false)
341: --Iteration 19--
342: bool(false)
343: bool(false)
344: bool(false)
345: --Iteration 20--
346: bool(false)
347: bool(false)
348: bool(false)
349: --Iteration 21--
350: bool(false)
351: bool(false)
352: bool(false)
353: --Iteration 22--
354: bool(false)
355: bool(false)
356: bool(false)
357: --Iteration 23--
358: bool(false)
359: bool(false)
360: bool(false)
361: --Iteration 24--
362: bool(false)
363: bool(false)
364: bool(false)
365: --Iteration 25--
366: bool(false)
367: bool(false)
368: bool(false)
369: --Iteration 26--
370: bool(false)
371: bool(false)
372: bool(false)
373: --Iteration 27--
374: bool(false)
375: bool(false)
376: bool(false)
377: --Iteration 28--
378: bool(false)
379: bool(false)
380: bool(false)
381: --Iteration 29--
382: bool(false)
383: bool(false)
384: bool(false)
385: --Iteration 30--
386: bool(false)
387: bool(false)
388: bool(false)
389: --Iteration 31--
390: bool(false)
391: bool(false)
392: bool(false)
393: --Iteration 32--
394: bool(false)
395: bool(false)
396: bool(false)
397: --Iteration 33--
398: bool(false)
399: bool(false)
400: bool(false)
401: --Iteration 34--
402: bool(false)
403: bool(false)
404: bool(false)
405: --Iteration 35--
406: bool(false)
407: bool(false)
408: bool(false)
409: --Iteration 36--
410: bool(false)
411: bool(false)
412: bool(false)
413: --Iteration 37--
414: bool(false)
415: bool(false)
416: bool(false)
417:
418: *** Testing error conditions ***
419:
420: Warning: is_float() expects exactly 1 parameter, 0 given in %s on line %d
421: bool(false)
422:
423: Warning: is_double() expects exactly 1 parameter, 0 given in %s on line %d
424: bool(false)
425:
426: Warning: is_real() expects exactly 1 parameter, 0 given in %s on line %d
427: bool(false)
428:
429: Warning: is_float() expects exactly 1 parameter, 2 given in %s on line %d
430: bool(false)
431:
432: Warning: is_double() expects exactly 1 parameter, 2 given in %s on line %d
433: bool(false)
434:
435: Warning: is_real() expects exactly 1 parameter, 2 given in %s on line %d
436: bool(false)
437: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>