Return to fmod_basiclong_64bit.phpt CVS log | Up to [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / math |
1.1 misho 1: --TEST-- 2: Test fmod function : 64bit long tests 3: --SKIPIF-- 4: <?php 5: if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only"); 6: ?> 7: --FILE-- 8: <?php 9: 10: define("MAX_64Bit", 9223372036854775807); 11: define("MAX_32Bit", 2147483647); 12: define("MIN_64Bit", -9223372036854775807 - 1); 13: define("MIN_32Bit", -2147483647 - 1); 14: 15: $longVals = array( 16: MAX_64Bit, MIN_64Bit, MAX_32Bit, MIN_32Bit, MAX_64Bit - MAX_32Bit, MIN_64Bit - MIN_32Bit, 17: MAX_32Bit + 1, MIN_32Bit - 1, MAX_32Bit * 2, (MAX_32Bit * 2) + 1, (MAX_32Bit * 2) - 1, 18: MAX_64Bit -1, MAX_64Bit + 1, MIN_64Bit + 1, MIN_64Bit - 1 19: ); 20: 21: $otherVals = array(0, 1, -1, 7, 9, 65, -44, MAX_32Bit, MIN_32Bit, MAX_64Bit, MIN_64Bit); 22: 23: 24: foreach ($longVals as $longVal) { 25: foreach($otherVals as $otherVal) { 26: echo "--- testing: $longVal, $otherVal ---\n"; 27: var_dump(fmod($longVal, $otherVal)); 28: } 29: } 30: 31: ?> 32: ===DONE=== 33: --EXPECT-- 34: --- testing: 9223372036854775807, 0 --- 35: float(NAN) 36: --- testing: 9223372036854775807, 1 --- 37: float(0) 38: --- testing: 9223372036854775807, -1 --- 39: float(0) 40: --- testing: 9223372036854775807, 7 --- 41: float(1) 42: --- testing: 9223372036854775807, 9 --- 43: float(8) 44: --- testing: 9223372036854775807, 65 --- 45: float(8) 46: --- testing: 9223372036854775807, -44 --- 47: float(8) 48: --- testing: 9223372036854775807, 2147483647 --- 49: float(2) 50: --- testing: 9223372036854775807, -2147483648 --- 51: float(0) 52: --- testing: 9223372036854775807, 9223372036854775807 --- 53: float(0) 54: --- testing: 9223372036854775807, -9223372036854775808 --- 55: float(0) 56: --- testing: -9223372036854775808, 0 --- 57: float(NAN) 58: --- testing: -9223372036854775808, 1 --- 59: float(-0) 60: --- testing: -9223372036854775808, -1 --- 61: float(-0) 62: --- testing: -9223372036854775808, 7 --- 63: float(-1) 64: --- testing: -9223372036854775808, 9 --- 65: float(-8) 66: --- testing: -9223372036854775808, 65 --- 67: float(-8) 68: --- testing: -9223372036854775808, -44 --- 69: float(-8) 70: --- testing: -9223372036854775808, 2147483647 --- 71: float(-2) 72: --- testing: -9223372036854775808, -2147483648 --- 73: float(-0) 74: --- testing: -9223372036854775808, 9223372036854775807 --- 75: float(-0) 76: --- testing: -9223372036854775808, -9223372036854775808 --- 77: float(-0) 78: --- testing: 2147483647, 0 --- 79: float(NAN) 80: --- testing: 2147483647, 1 --- 81: float(0) 82: --- testing: 2147483647, -1 --- 83: float(0) 84: --- testing: 2147483647, 7 --- 85: float(1) 86: --- testing: 2147483647, 9 --- 87: float(1) 88: --- testing: 2147483647, 65 --- 89: float(62) 90: --- testing: 2147483647, -44 --- 91: float(23) 92: --- testing: 2147483647, 2147483647 --- 93: float(0) 94: --- testing: 2147483647, -2147483648 --- 95: float(2147483647) 96: --- testing: 2147483647, 9223372036854775807 --- 97: float(2147483647) 98: --- testing: 2147483647, -9223372036854775808 --- 99: float(2147483647) 100: --- testing: -2147483648, 0 --- 101: float(NAN) 102: --- testing: -2147483648, 1 --- 103: float(-0) 104: --- testing: -2147483648, -1 --- 105: float(-0) 106: --- testing: -2147483648, 7 --- 107: float(-2) 108: --- testing: -2147483648, 9 --- 109: float(-2) 110: --- testing: -2147483648, 65 --- 111: float(-63) 112: --- testing: -2147483648, -44 --- 113: float(-24) 114: --- testing: -2147483648, 2147483647 --- 115: float(-1) 116: --- testing: -2147483648, -2147483648 --- 117: float(-0) 118: --- testing: -2147483648, 9223372036854775807 --- 119: float(-2147483648) 120: --- testing: -2147483648, -9223372036854775808 --- 121: float(-2147483648) 122: --- testing: 9223372034707292160, 0 --- 123: float(NAN) 124: --- testing: 9223372034707292160, 1 --- 125: float(0) 126: --- testing: 9223372034707292160, -1 --- 127: float(0) 128: --- testing: 9223372034707292160, 7 --- 129: float(6) 130: --- testing: 9223372034707292160, 9 --- 131: float(6) 132: --- testing: 9223372034707292160, 65 --- 133: float(10) 134: --- testing: 9223372034707292160, -44 --- 135: float(28) 136: --- testing: 9223372034707292160, 2147483647 --- 137: float(1) 138: --- testing: 9223372034707292160, -2147483648 --- 139: float(0) 140: --- testing: 9223372034707292160, 9223372036854775807 --- 141: float(9.2233720347073E+18) 142: --- testing: 9223372034707292160, -9223372036854775808 --- 143: float(9.2233720347073E+18) 144: --- testing: -9223372034707292160, 0 --- 145: float(NAN) 146: --- testing: -9223372034707292160, 1 --- 147: float(-0) 148: --- testing: -9223372034707292160, -1 --- 149: float(-0) 150: --- testing: -9223372034707292160, 7 --- 151: float(-6) 152: --- testing: -9223372034707292160, 9 --- 153: float(-6) 154: --- testing: -9223372034707292160, 65 --- 155: float(-10) 156: --- testing: -9223372034707292160, -44 --- 157: float(-28) 158: --- testing: -9223372034707292160, 2147483647 --- 159: float(-1) 160: --- testing: -9223372034707292160, -2147483648 --- 161: float(-0) 162: --- testing: -9223372034707292160, 9223372036854775807 --- 163: float(-9.2233720347073E+18) 164: --- testing: -9223372034707292160, -9223372036854775808 --- 165: float(-9.2233720347073E+18) 166: --- testing: 2147483648, 0 --- 167: float(NAN) 168: --- testing: 2147483648, 1 --- 169: float(0) 170: --- testing: 2147483648, -1 --- 171: float(0) 172: --- testing: 2147483648, 7 --- 173: float(2) 174: --- testing: 2147483648, 9 --- 175: float(2) 176: --- testing: 2147483648, 65 --- 177: float(63) 178: --- testing: 2147483648, -44 --- 179: float(24) 180: --- testing: 2147483648, 2147483647 --- 181: float(1) 182: --- testing: 2147483648, -2147483648 --- 183: float(0) 184: --- testing: 2147483648, 9223372036854775807 --- 185: float(2147483648) 186: --- testing: 2147483648, -9223372036854775808 --- 187: float(2147483648) 188: --- testing: -2147483649, 0 --- 189: float(NAN) 190: --- testing: -2147483649, 1 --- 191: float(-0) 192: --- testing: -2147483649, -1 --- 193: float(-0) 194: --- testing: -2147483649, 7 --- 195: float(-3) 196: --- testing: -2147483649, 9 --- 197: float(-3) 198: --- testing: -2147483649, 65 --- 199: float(-64) 200: --- testing: -2147483649, -44 --- 201: float(-25) 202: --- testing: -2147483649, 2147483647 --- 203: float(-2) 204: --- testing: -2147483649, -2147483648 --- 205: float(-1) 206: --- testing: -2147483649, 9223372036854775807 --- 207: float(-2147483649) 208: --- testing: -2147483649, -9223372036854775808 --- 209: float(-2147483649) 210: --- testing: 4294967294, 0 --- 211: float(NAN) 212: --- testing: 4294967294, 1 --- 213: float(0) 214: --- testing: 4294967294, -1 --- 215: float(0) 216: --- testing: 4294967294, 7 --- 217: float(2) 218: --- testing: 4294967294, 9 --- 219: float(2) 220: --- testing: 4294967294, 65 --- 221: float(59) 222: --- testing: 4294967294, -44 --- 223: float(2) 224: --- testing: 4294967294, 2147483647 --- 225: float(0) 226: --- testing: 4294967294, -2147483648 --- 227: float(2147483646) 228: --- testing: 4294967294, 9223372036854775807 --- 229: float(4294967294) 230: --- testing: 4294967294, -9223372036854775808 --- 231: float(4294967294) 232: --- testing: 4294967295, 0 --- 233: float(NAN) 234: --- testing: 4294967295, 1 --- 235: float(0) 236: --- testing: 4294967295, -1 --- 237: float(0) 238: --- testing: 4294967295, 7 --- 239: float(3) 240: --- testing: 4294967295, 9 --- 241: float(3) 242: --- testing: 4294967295, 65 --- 243: float(60) 244: --- testing: 4294967295, -44 --- 245: float(3) 246: --- testing: 4294967295, 2147483647 --- 247: float(1) 248: --- testing: 4294967295, -2147483648 --- 249: float(2147483647) 250: --- testing: 4294967295, 9223372036854775807 --- 251: float(4294967295) 252: --- testing: 4294967295, -9223372036854775808 --- 253: float(4294967295) 254: --- testing: 4294967293, 0 --- 255: float(NAN) 256: --- testing: 4294967293, 1 --- 257: float(0) 258: --- testing: 4294967293, -1 --- 259: float(0) 260: --- testing: 4294967293, 7 --- 261: float(1) 262: --- testing: 4294967293, 9 --- 263: float(1) 264: --- testing: 4294967293, 65 --- 265: float(58) 266: --- testing: 4294967293, -44 --- 267: float(1) 268: --- testing: 4294967293, 2147483647 --- 269: float(2147483646) 270: --- testing: 4294967293, -2147483648 --- 271: float(2147483645) 272: --- testing: 4294967293, 9223372036854775807 --- 273: float(4294967293) 274: --- testing: 4294967293, -9223372036854775808 --- 275: float(4294967293) 276: --- testing: 9223372036854775806, 0 --- 277: float(NAN) 278: --- testing: 9223372036854775806, 1 --- 279: float(0) 280: --- testing: 9223372036854775806, -1 --- 281: float(0) 282: --- testing: 9223372036854775806, 7 --- 283: float(1) 284: --- testing: 9223372036854775806, 9 --- 285: float(8) 286: --- testing: 9223372036854775806, 65 --- 287: float(8) 288: --- testing: 9223372036854775806, -44 --- 289: float(8) 290: --- testing: 9223372036854775806, 2147483647 --- 291: float(2) 292: --- testing: 9223372036854775806, -2147483648 --- 293: float(0) 294: --- testing: 9223372036854775806, 9223372036854775807 --- 295: float(0) 296: --- testing: 9223372036854775806, -9223372036854775808 --- 297: float(0) 298: --- testing: 9.2233720368548E+18, 0 --- 299: float(NAN) 300: --- testing: 9.2233720368548E+18, 1 --- 301: float(0) 302: --- testing: 9.2233720368548E+18, -1 --- 303: float(0) 304: --- testing: 9.2233720368548E+18, 7 --- 305: float(1) 306: --- testing: 9.2233720368548E+18, 9 --- 307: float(8) 308: --- testing: 9.2233720368548E+18, 65 --- 309: float(8) 310: --- testing: 9.2233720368548E+18, -44 --- 311: float(8) 312: --- testing: 9.2233720368548E+18, 2147483647 --- 313: float(2) 314: --- testing: 9.2233720368548E+18, -2147483648 --- 315: float(0) 316: --- testing: 9.2233720368548E+18, 9223372036854775807 --- 317: float(0) 318: --- testing: 9.2233720368548E+18, -9223372036854775808 --- 319: float(0) 320: --- testing: -9223372036854775807, 0 --- 321: float(NAN) 322: --- testing: -9223372036854775807, 1 --- 323: float(-0) 324: --- testing: -9223372036854775807, -1 --- 325: float(-0) 326: --- testing: -9223372036854775807, 7 --- 327: float(-1) 328: --- testing: -9223372036854775807, 9 --- 329: float(-8) 330: --- testing: -9223372036854775807, 65 --- 331: float(-8) 332: --- testing: -9223372036854775807, -44 --- 333: float(-8) 334: --- testing: -9223372036854775807, 2147483647 --- 335: float(-2) 336: --- testing: -9223372036854775807, -2147483648 --- 337: float(-0) 338: --- testing: -9223372036854775807, 9223372036854775807 --- 339: float(-0) 340: --- testing: -9223372036854775807, -9223372036854775808 --- 341: float(-0) 342: --- testing: -9.2233720368548E+18, 0 --- 343: float(NAN) 344: --- testing: -9.2233720368548E+18, 1 --- 345: float(-0) 346: --- testing: -9.2233720368548E+18, -1 --- 347: float(-0) 348: --- testing: -9.2233720368548E+18, 7 --- 349: float(-1) 350: --- testing: -9.2233720368548E+18, 9 --- 351: float(-8) 352: --- testing: -9.2233720368548E+18, 65 --- 353: float(-8) 354: --- testing: -9.2233720368548E+18, -44 --- 355: float(-8) 356: --- testing: -9.2233720368548E+18, 2147483647 --- 357: float(-2) 358: --- testing: -9.2233720368548E+18, -2147483648 --- 359: float(-0) 360: --- testing: -9.2233720368548E+18, 9223372036854775807 --- 361: float(-0) 362: --- testing: -9.2233720368548E+18, -9223372036854775808 --- 363: float(-0) 364: ===DONE===