1--TEST-- 2Bug #41121 (range() overflow handling for large numbers on 32bit machines) 3--INI-- 4precision=14 5--SKIPIF-- 6<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?> 7--FILE-- 8<?php 9 10// posotive steps 11var_dump(range(2147483400, 2147483600, 100)); 12var_dump( range(2147483646, 2147483648, 1 ) ); 13var_dump( range(2147483646, 2147483657, 1 ) ); 14var_dump( range(2147483630, 2147483646, 5 ) ); 15 16// negative steps 17var_dump( range(-2147483645, -2147483648, 1 ) ); 18var_dump( range(-2147483645, -2147483649, 1 ) ); 19var_dump( range(-2147483630, -2147483646, 5 ) ); 20 21// low > high 22var_dump(range(2147483647, 2147483645, 1 )); 23var_dump(range(2147483648, 2147483645, 1 )); 24 25?> 26--EXPECT-- 27array(3) { 28 [0]=> 29 int(2147483400) 30 [1]=> 31 int(2147483500) 32 [2]=> 33 int(2147483600) 34} 35array(3) { 36 [0]=> 37 float(2147483646) 38 [1]=> 39 float(2147483647) 40 [2]=> 41 float(2147483648) 42} 43array(12) { 44 [0]=> 45 float(2147483646) 46 [1]=> 47 float(2147483647) 48 [2]=> 49 float(2147483648) 50 [3]=> 51 float(2147483649) 52 [4]=> 53 float(2147483650) 54 [5]=> 55 float(2147483651) 56 [6]=> 57 float(2147483652) 58 [7]=> 59 float(2147483653) 60 [8]=> 61 float(2147483654) 62 [9]=> 63 float(2147483655) 64 [10]=> 65 float(2147483656) 66 [11]=> 67 float(2147483657) 68} 69array(4) { 70 [0]=> 71 int(2147483630) 72 [1]=> 73 int(2147483635) 74 [2]=> 75 int(2147483640) 76 [3]=> 77 int(2147483645) 78} 79array(4) { 80 [0]=> 81 float(-2147483645) 82 [1]=> 83 float(-2147483646) 84 [2]=> 85 float(-2147483647) 86 [3]=> 87 float(-2147483648) 88} 89array(5) { 90 [0]=> 91 float(-2147483645) 92 [1]=> 93 float(-2147483646) 94 [2]=> 95 float(-2147483647) 96 [3]=> 97 float(-2147483648) 98 [4]=> 99 float(-2147483649) 100} 101array(4) { 102 [0]=> 103 int(-2147483630) 104 [1]=> 105 int(-2147483635) 106 [2]=> 107 int(-2147483640) 108 [3]=> 109 int(-2147483645) 110} 111array(3) { 112 [0]=> 113 int(2147483647) 114 [1]=> 115 int(2147483646) 116 [2]=> 117 int(2147483645) 118} 119array(4) { 120 [0]=> 121 float(2147483648) 122 [1]=> 123 float(2147483647) 124 [2]=> 125 float(2147483646) 126 [3]=> 127 float(2147483645) 128} 129