File:
[ELWIX - Embedded LightWeight unIX -] /
embedaddon /
php /
tests /
lang /
operators /
bitwiseShiftRight_basiclong_64bit.phpt
Revision
1.1.1.1 (vendor branch):
download - view:
text,
annotated -
select for diffs -
revision graph
Tue Feb 21 23:48:06 2012 UTC (12 years, 6 months ago) by
misho
Branches:
php,
MAIN
CVS tags:
v5_4_3elwix,
v5_4_29p0,
v5_4_29,
v5_4_20p0,
v5_4_20,
v5_4_17p0,
v5_4_17,
v5_3_10,
HEAD
php
1: --TEST--
2: Test >> operator : 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, MAX_64Bit);
22:
23: error_reporting(E_ERROR);
24:
25: foreach ($longVals as $longVal) {
26: foreach($otherVals as $otherVal) {
27: echo "--- testing: $longVal >> $otherVal ---\n";
28: var_dump($longVal>>$otherVal);
29: }
30: }
31:
32: foreach ($otherVals as $otherVal) {
33: foreach($longVals as $longVal) {
34: echo "--- testing: $otherVal >> $longVal ---\n";
35: var_dump($otherVal>>$longVal);
36: }
37: }
38:
39: ?>
40: ===DONE===
41: --EXPECT--
42: --- testing: 9223372036854775807 >> 0 ---
43: int(9223372036854775807)
44: --- testing: 9223372036854775807 >> 1 ---
45: int(4611686018427387903)
46: --- testing: 9223372036854775807 >> -1 ---
47: int(0)
48: --- testing: 9223372036854775807 >> 7 ---
49: int(72057594037927935)
50: --- testing: 9223372036854775807 >> 9 ---
51: int(18014398509481983)
52: --- testing: 9223372036854775807 >> 65 ---
53: int(4611686018427387903)
54: --- testing: 9223372036854775807 >> -44 ---
55: int(8796093022207)
56: --- testing: 9223372036854775807 >> 2147483647 ---
57: int(0)
58: --- testing: 9223372036854775807 >> 9223372036854775807 ---
59: int(0)
60: --- testing: -9223372036854775808 >> 0 ---
61: int(-9223372036854775808)
62: --- testing: -9223372036854775808 >> 1 ---
63: int(-4611686018427387904)
64: --- testing: -9223372036854775808 >> -1 ---
65: int(-1)
66: --- testing: -9223372036854775808 >> 7 ---
67: int(-72057594037927936)
68: --- testing: -9223372036854775808 >> 9 ---
69: int(-18014398509481984)
70: --- testing: -9223372036854775808 >> 65 ---
71: int(-4611686018427387904)
72: --- testing: -9223372036854775808 >> -44 ---
73: int(-8796093022208)
74: --- testing: -9223372036854775808 >> 2147483647 ---
75: int(-1)
76: --- testing: -9223372036854775808 >> 9223372036854775807 ---
77: int(-1)
78: --- testing: 2147483647 >> 0 ---
79: int(2147483647)
80: --- testing: 2147483647 >> 1 ---
81: int(1073741823)
82: --- testing: 2147483647 >> -1 ---
83: int(0)
84: --- testing: 2147483647 >> 7 ---
85: int(16777215)
86: --- testing: 2147483647 >> 9 ---
87: int(4194303)
88: --- testing: 2147483647 >> 65 ---
89: int(1073741823)
90: --- testing: 2147483647 >> -44 ---
91: int(2047)
92: --- testing: 2147483647 >> 2147483647 ---
93: int(0)
94: --- testing: 2147483647 >> 9223372036854775807 ---
95: int(0)
96: --- testing: -2147483648 >> 0 ---
97: int(-2147483648)
98: --- testing: -2147483648 >> 1 ---
99: int(-1073741824)
100: --- testing: -2147483648 >> -1 ---
101: int(-1)
102: --- testing: -2147483648 >> 7 ---
103: int(-16777216)
104: --- testing: -2147483648 >> 9 ---
105: int(-4194304)
106: --- testing: -2147483648 >> 65 ---
107: int(-1073741824)
108: --- testing: -2147483648 >> -44 ---
109: int(-2048)
110: --- testing: -2147483648 >> 2147483647 ---
111: int(-1)
112: --- testing: -2147483648 >> 9223372036854775807 ---
113: int(-1)
114: --- testing: 9223372034707292160 >> 0 ---
115: int(9223372034707292160)
116: --- testing: 9223372034707292160 >> 1 ---
117: int(4611686017353646080)
118: --- testing: 9223372034707292160 >> -1 ---
119: int(0)
120: --- testing: 9223372034707292160 >> 7 ---
121: int(72057594021150720)
122: --- testing: 9223372034707292160 >> 9 ---
123: int(18014398505287680)
124: --- testing: 9223372034707292160 >> 65 ---
125: int(4611686017353646080)
126: --- testing: 9223372034707292160 >> -44 ---
127: int(8796093020160)
128: --- testing: 9223372034707292160 >> 2147483647 ---
129: int(0)
130: --- testing: 9223372034707292160 >> 9223372036854775807 ---
131: int(0)
132: --- testing: -9223372034707292160 >> 0 ---
133: int(-9223372034707292160)
134: --- testing: -9223372034707292160 >> 1 ---
135: int(-4611686017353646080)
136: --- testing: -9223372034707292160 >> -1 ---
137: int(-1)
138: --- testing: -9223372034707292160 >> 7 ---
139: int(-72057594021150720)
140: --- testing: -9223372034707292160 >> 9 ---
141: int(-18014398505287680)
142: --- testing: -9223372034707292160 >> 65 ---
143: int(-4611686017353646080)
144: --- testing: -9223372034707292160 >> -44 ---
145: int(-8796093020160)
146: --- testing: -9223372034707292160 >> 2147483647 ---
147: int(-1)
148: --- testing: -9223372034707292160 >> 9223372036854775807 ---
149: int(-1)
150: --- testing: 2147483648 >> 0 ---
151: int(2147483648)
152: --- testing: 2147483648 >> 1 ---
153: int(1073741824)
154: --- testing: 2147483648 >> -1 ---
155: int(0)
156: --- testing: 2147483648 >> 7 ---
157: int(16777216)
158: --- testing: 2147483648 >> 9 ---
159: int(4194304)
160: --- testing: 2147483648 >> 65 ---
161: int(1073741824)
162: --- testing: 2147483648 >> -44 ---
163: int(2048)
164: --- testing: 2147483648 >> 2147483647 ---
165: int(0)
166: --- testing: 2147483648 >> 9223372036854775807 ---
167: int(0)
168: --- testing: -2147483649 >> 0 ---
169: int(-2147483649)
170: --- testing: -2147483649 >> 1 ---
171: int(-1073741825)
172: --- testing: -2147483649 >> -1 ---
173: int(-1)
174: --- testing: -2147483649 >> 7 ---
175: int(-16777217)
176: --- testing: -2147483649 >> 9 ---
177: int(-4194305)
178: --- testing: -2147483649 >> 65 ---
179: int(-1073741825)
180: --- testing: -2147483649 >> -44 ---
181: int(-2049)
182: --- testing: -2147483649 >> 2147483647 ---
183: int(-1)
184: --- testing: -2147483649 >> 9223372036854775807 ---
185: int(-1)
186: --- testing: 4294967294 >> 0 ---
187: int(4294967294)
188: --- testing: 4294967294 >> 1 ---
189: int(2147483647)
190: --- testing: 4294967294 >> -1 ---
191: int(0)
192: --- testing: 4294967294 >> 7 ---
193: int(33554431)
194: --- testing: 4294967294 >> 9 ---
195: int(8388607)
196: --- testing: 4294967294 >> 65 ---
197: int(2147483647)
198: --- testing: 4294967294 >> -44 ---
199: int(4095)
200: --- testing: 4294967294 >> 2147483647 ---
201: int(0)
202: --- testing: 4294967294 >> 9223372036854775807 ---
203: int(0)
204: --- testing: 4294967295 >> 0 ---
205: int(4294967295)
206: --- testing: 4294967295 >> 1 ---
207: int(2147483647)
208: --- testing: 4294967295 >> -1 ---
209: int(0)
210: --- testing: 4294967295 >> 7 ---
211: int(33554431)
212: --- testing: 4294967295 >> 9 ---
213: int(8388607)
214: --- testing: 4294967295 >> 65 ---
215: int(2147483647)
216: --- testing: 4294967295 >> -44 ---
217: int(4095)
218: --- testing: 4294967295 >> 2147483647 ---
219: int(0)
220: --- testing: 4294967295 >> 9223372036854775807 ---
221: int(0)
222: --- testing: 4294967293 >> 0 ---
223: int(4294967293)
224: --- testing: 4294967293 >> 1 ---
225: int(2147483646)
226: --- testing: 4294967293 >> -1 ---
227: int(0)
228: --- testing: 4294967293 >> 7 ---
229: int(33554431)
230: --- testing: 4294967293 >> 9 ---
231: int(8388607)
232: --- testing: 4294967293 >> 65 ---
233: int(2147483646)
234: --- testing: 4294967293 >> -44 ---
235: int(4095)
236: --- testing: 4294967293 >> 2147483647 ---
237: int(0)
238: --- testing: 4294967293 >> 9223372036854775807 ---
239: int(0)
240: --- testing: 9223372036854775806 >> 0 ---
241: int(9223372036854775806)
242: --- testing: 9223372036854775806 >> 1 ---
243: int(4611686018427387903)
244: --- testing: 9223372036854775806 >> -1 ---
245: int(0)
246: --- testing: 9223372036854775806 >> 7 ---
247: int(72057594037927935)
248: --- testing: 9223372036854775806 >> 9 ---
249: int(18014398509481983)
250: --- testing: 9223372036854775806 >> 65 ---
251: int(4611686018427387903)
252: --- testing: 9223372036854775806 >> -44 ---
253: int(8796093022207)
254: --- testing: 9223372036854775806 >> 2147483647 ---
255: int(0)
256: --- testing: 9223372036854775806 >> 9223372036854775807 ---
257: int(0)
258: --- testing: 9.2233720368548E+18 >> 0 ---
259: int(-9223372036854775808)
260: --- testing: 9.2233720368548E+18 >> 1 ---
261: int(-4611686018427387904)
262: --- testing: 9.2233720368548E+18 >> -1 ---
263: int(-1)
264: --- testing: 9.2233720368548E+18 >> 7 ---
265: int(-72057594037927936)
266: --- testing: 9.2233720368548E+18 >> 9 ---
267: int(-18014398509481984)
268: --- testing: 9.2233720368548E+18 >> 65 ---
269: int(-4611686018427387904)
270: --- testing: 9.2233720368548E+18 >> -44 ---
271: int(-8796093022208)
272: --- testing: 9.2233720368548E+18 >> 2147483647 ---
273: int(-1)
274: --- testing: 9.2233720368548E+18 >> 9223372036854775807 ---
275: int(-1)
276: --- testing: -9223372036854775807 >> 0 ---
277: int(-9223372036854775807)
278: --- testing: -9223372036854775807 >> 1 ---
279: int(-4611686018427387904)
280: --- testing: -9223372036854775807 >> -1 ---
281: int(-1)
282: --- testing: -9223372036854775807 >> 7 ---
283: int(-72057594037927936)
284: --- testing: -9223372036854775807 >> 9 ---
285: int(-18014398509481984)
286: --- testing: -9223372036854775807 >> 65 ---
287: int(-4611686018427387904)
288: --- testing: -9223372036854775807 >> -44 ---
289: int(-8796093022208)
290: --- testing: -9223372036854775807 >> 2147483647 ---
291: int(-1)
292: --- testing: -9223372036854775807 >> 9223372036854775807 ---
293: int(-1)
294: --- testing: -9.2233720368548E+18 >> 0 ---
295: int(-9223372036854775808)
296: --- testing: -9.2233720368548E+18 >> 1 ---
297: int(-4611686018427387904)
298: --- testing: -9.2233720368548E+18 >> -1 ---
299: int(-1)
300: --- testing: -9.2233720368548E+18 >> 7 ---
301: int(-72057594037927936)
302: --- testing: -9.2233720368548E+18 >> 9 ---
303: int(-18014398509481984)
304: --- testing: -9.2233720368548E+18 >> 65 ---
305: int(-4611686018427387904)
306: --- testing: -9.2233720368548E+18 >> -44 ---
307: int(-8796093022208)
308: --- testing: -9.2233720368548E+18 >> 2147483647 ---
309: int(-1)
310: --- testing: -9.2233720368548E+18 >> 9223372036854775807 ---
311: int(-1)
312: --- testing: 0 >> 9223372036854775807 ---
313: int(0)
314: --- testing: 0 >> -9223372036854775808 ---
315: int(0)
316: --- testing: 0 >> 2147483647 ---
317: int(0)
318: --- testing: 0 >> -2147483648 ---
319: int(0)
320: --- testing: 0 >> 9223372034707292160 ---
321: int(0)
322: --- testing: 0 >> -9223372034707292160 ---
323: int(0)
324: --- testing: 0 >> 2147483648 ---
325: int(0)
326: --- testing: 0 >> -2147483649 ---
327: int(0)
328: --- testing: 0 >> 4294967294 ---
329: int(0)
330: --- testing: 0 >> 4294967295 ---
331: int(0)
332: --- testing: 0 >> 4294967293 ---
333: int(0)
334: --- testing: 0 >> 9223372036854775806 ---
335: int(0)
336: --- testing: 0 >> 9.2233720368548E+18 ---
337: int(0)
338: --- testing: 0 >> -9223372036854775807 ---
339: int(0)
340: --- testing: 0 >> -9.2233720368548E+18 ---
341: int(0)
342: --- testing: 1 >> 9223372036854775807 ---
343: int(0)
344: --- testing: 1 >> -9223372036854775808 ---
345: int(1)
346: --- testing: 1 >> 2147483647 ---
347: int(0)
348: --- testing: 1 >> -2147483648 ---
349: int(1)
350: --- testing: 1 >> 9223372034707292160 ---
351: int(1)
352: --- testing: 1 >> -9223372034707292160 ---
353: int(1)
354: --- testing: 1 >> 2147483648 ---
355: int(1)
356: --- testing: 1 >> -2147483649 ---
357: int(0)
358: --- testing: 1 >> 4294967294 ---
359: int(0)
360: --- testing: 1 >> 4294967295 ---
361: int(0)
362: --- testing: 1 >> 4294967293 ---
363: int(0)
364: --- testing: 1 >> 9223372036854775806 ---
365: int(0)
366: --- testing: 1 >> 9.2233720368548E+18 ---
367: int(1)
368: --- testing: 1 >> -9223372036854775807 ---
369: int(0)
370: --- testing: 1 >> -9.2233720368548E+18 ---
371: int(1)
372: --- testing: -1 >> 9223372036854775807 ---
373: int(-1)
374: --- testing: -1 >> -9223372036854775808 ---
375: int(-1)
376: --- testing: -1 >> 2147483647 ---
377: int(-1)
378: --- testing: -1 >> -2147483648 ---
379: int(-1)
380: --- testing: -1 >> 9223372034707292160 ---
381: int(-1)
382: --- testing: -1 >> -9223372034707292160 ---
383: int(-1)
384: --- testing: -1 >> 2147483648 ---
385: int(-1)
386: --- testing: -1 >> -2147483649 ---
387: int(-1)
388: --- testing: -1 >> 4294967294 ---
389: int(-1)
390: --- testing: -1 >> 4294967295 ---
391: int(-1)
392: --- testing: -1 >> 4294967293 ---
393: int(-1)
394: --- testing: -1 >> 9223372036854775806 ---
395: int(-1)
396: --- testing: -1 >> 9.2233720368548E+18 ---
397: int(-1)
398: --- testing: -1 >> -9223372036854775807 ---
399: int(-1)
400: --- testing: -1 >> -9.2233720368548E+18 ---
401: int(-1)
402: --- testing: 7 >> 9223372036854775807 ---
403: int(0)
404: --- testing: 7 >> -9223372036854775808 ---
405: int(7)
406: --- testing: 7 >> 2147483647 ---
407: int(0)
408: --- testing: 7 >> -2147483648 ---
409: int(7)
410: --- testing: 7 >> 9223372034707292160 ---
411: int(7)
412: --- testing: 7 >> -9223372034707292160 ---
413: int(7)
414: --- testing: 7 >> 2147483648 ---
415: int(7)
416: --- testing: 7 >> -2147483649 ---
417: int(0)
418: --- testing: 7 >> 4294967294 ---
419: int(0)
420: --- testing: 7 >> 4294967295 ---
421: int(0)
422: --- testing: 7 >> 4294967293 ---
423: int(0)
424: --- testing: 7 >> 9223372036854775806 ---
425: int(0)
426: --- testing: 7 >> 9.2233720368548E+18 ---
427: int(7)
428: --- testing: 7 >> -9223372036854775807 ---
429: int(3)
430: --- testing: 7 >> -9.2233720368548E+18 ---
431: int(7)
432: --- testing: 9 >> 9223372036854775807 ---
433: int(0)
434: --- testing: 9 >> -9223372036854775808 ---
435: int(9)
436: --- testing: 9 >> 2147483647 ---
437: int(0)
438: --- testing: 9 >> -2147483648 ---
439: int(9)
440: --- testing: 9 >> 9223372034707292160 ---
441: int(9)
442: --- testing: 9 >> -9223372034707292160 ---
443: int(9)
444: --- testing: 9 >> 2147483648 ---
445: int(9)
446: --- testing: 9 >> -2147483649 ---
447: int(0)
448: --- testing: 9 >> 4294967294 ---
449: int(0)
450: --- testing: 9 >> 4294967295 ---
451: int(0)
452: --- testing: 9 >> 4294967293 ---
453: int(0)
454: --- testing: 9 >> 9223372036854775806 ---
455: int(0)
456: --- testing: 9 >> 9.2233720368548E+18 ---
457: int(9)
458: --- testing: 9 >> -9223372036854775807 ---
459: int(4)
460: --- testing: 9 >> -9.2233720368548E+18 ---
461: int(9)
462: --- testing: 65 >> 9223372036854775807 ---
463: int(0)
464: --- testing: 65 >> -9223372036854775808 ---
465: int(65)
466: --- testing: 65 >> 2147483647 ---
467: int(0)
468: --- testing: 65 >> -2147483648 ---
469: int(65)
470: --- testing: 65 >> 9223372034707292160 ---
471: int(65)
472: --- testing: 65 >> -9223372034707292160 ---
473: int(65)
474: --- testing: 65 >> 2147483648 ---
475: int(65)
476: --- testing: 65 >> -2147483649 ---
477: int(0)
478: --- testing: 65 >> 4294967294 ---
479: int(0)
480: --- testing: 65 >> 4294967295 ---
481: int(0)
482: --- testing: 65 >> 4294967293 ---
483: int(0)
484: --- testing: 65 >> 9223372036854775806 ---
485: int(0)
486: --- testing: 65 >> 9.2233720368548E+18 ---
487: int(65)
488: --- testing: 65 >> -9223372036854775807 ---
489: int(32)
490: --- testing: 65 >> -9.2233720368548E+18 ---
491: int(65)
492: --- testing: -44 >> 9223372036854775807 ---
493: int(-1)
494: --- testing: -44 >> -9223372036854775808 ---
495: int(-44)
496: --- testing: -44 >> 2147483647 ---
497: int(-1)
498: --- testing: -44 >> -2147483648 ---
499: int(-44)
500: --- testing: -44 >> 9223372034707292160 ---
501: int(-44)
502: --- testing: -44 >> -9223372034707292160 ---
503: int(-44)
504: --- testing: -44 >> 2147483648 ---
505: int(-44)
506: --- testing: -44 >> -2147483649 ---
507: int(-1)
508: --- testing: -44 >> 4294967294 ---
509: int(-1)
510: --- testing: -44 >> 4294967295 ---
511: int(-1)
512: --- testing: -44 >> 4294967293 ---
513: int(-1)
514: --- testing: -44 >> 9223372036854775806 ---
515: int(-1)
516: --- testing: -44 >> 9.2233720368548E+18 ---
517: int(-44)
518: --- testing: -44 >> -9223372036854775807 ---
519: int(-22)
520: --- testing: -44 >> -9.2233720368548E+18 ---
521: int(-44)
522: --- testing: 2147483647 >> 9223372036854775807 ---
523: int(0)
524: --- testing: 2147483647 >> -9223372036854775808 ---
525: int(2147483647)
526: --- testing: 2147483647 >> 2147483647 ---
527: int(0)
528: --- testing: 2147483647 >> -2147483648 ---
529: int(2147483647)
530: --- testing: 2147483647 >> 9223372034707292160 ---
531: int(2147483647)
532: --- testing: 2147483647 >> -9223372034707292160 ---
533: int(2147483647)
534: --- testing: 2147483647 >> 2147483648 ---
535: int(2147483647)
536: --- testing: 2147483647 >> -2147483649 ---
537: int(0)
538: --- testing: 2147483647 >> 4294967294 ---
539: int(0)
540: --- testing: 2147483647 >> 4294967295 ---
541: int(0)
542: --- testing: 2147483647 >> 4294967293 ---
543: int(0)
544: --- testing: 2147483647 >> 9223372036854775806 ---
545: int(0)
546: --- testing: 2147483647 >> 9.2233720368548E+18 ---
547: int(2147483647)
548: --- testing: 2147483647 >> -9223372036854775807 ---
549: int(1073741823)
550: --- testing: 2147483647 >> -9.2233720368548E+18 ---
551: int(2147483647)
552: --- testing: 9223372036854775807 >> 9223372036854775807 ---
553: int(0)
554: --- testing: 9223372036854775807 >> -9223372036854775808 ---
555: int(9223372036854775807)
556: --- testing: 9223372036854775807 >> 2147483647 ---
557: int(0)
558: --- testing: 9223372036854775807 >> -2147483648 ---
559: int(9223372036854775807)
560: --- testing: 9223372036854775807 >> 9223372034707292160 ---
561: int(9223372036854775807)
562: --- testing: 9223372036854775807 >> -9223372034707292160 ---
563: int(9223372036854775807)
564: --- testing: 9223372036854775807 >> 2147483648 ---
565: int(9223372036854775807)
566: --- testing: 9223372036854775807 >> -2147483649 ---
567: int(0)
568: --- testing: 9223372036854775807 >> 4294967294 ---
569: int(1)
570: --- testing: 9223372036854775807 >> 4294967295 ---
571: int(0)
572: --- testing: 9223372036854775807 >> 4294967293 ---
573: int(3)
574: --- testing: 9223372036854775807 >> 9223372036854775806 ---
575: int(1)
576: --- testing: 9223372036854775807 >> 9.2233720368548E+18 ---
577: int(9223372036854775807)
578: --- testing: 9223372036854775807 >> -9223372036854775807 ---
579: int(4611686018427387903)
580: --- testing: 9223372036854775807 >> -9.2233720368548E+18 ---
581: int(9223372036854775807)
582: ===DONE===
583:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>