Annotation of embedaddon/php/ext/standard/tests/general_functions/is_float_64bit.phpt, revision 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>