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