summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandy wharmby <wharmby@php.net>2009-06-15 17:38:44 +0000
committerandy wharmby <wharmby@php.net>2009-06-15 17:38:44 +0000
commitfcbfe08d602c712aa6da95f8e8bd23d04e1ad31d (patch)
tree681d2854a714662067c7c9f87b2a9bfe833f02d6
parentd8ce08a24b0ff21c4eb8c0a95a445d0150eab58c (diff)
downloadphp-git-fcbfe08d602c712aa6da95f8e8bd23d04e1ad31d.tar.gz
New test for bitwise operators. Tested on Linux 64 bit
-rw-r--r--tests/lang/operators/bitwiseAnd_basiclong_64bit.phpt582
-rw-r--r--tests/lang/operators/bitwiseNot_basiclong_64bit.phpt60
-rw-r--r--tests/lang/operators/bitwiseOr_basiclong_64bit.phpt583
-rw-r--r--tests/lang/operators/bitwiseShiftLeft_basiclong_64bit.phpt583
-rw-r--r--tests/lang/operators/bitwiseShiftRight_basiclong_64bit.phpt583
-rw-r--r--tests/lang/operators/bitwiseXor_basiclong_64bit.phpt583
-rw-r--r--tests/lang/operators/modulus_basiclong_64bit.phpt582
7 files changed, 3556 insertions, 0 deletions
diff --git a/tests/lang/operators/bitwiseAnd_basiclong_64bit.phpt b/tests/lang/operators/bitwiseAnd_basiclong_64bit.phpt
new file mode 100644
index 0000000000..f463e5d57e
--- /dev/null
+++ b/tests/lang/operators/bitwiseAnd_basiclong_64bit.phpt
@@ -0,0 +1,582 @@
+--TEST--
+Test & operator : 64bit long tests
+--SKIPIF--
+<?php
+if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
+?>
+--FILE--
+<?php
+
+define("MAX_64Bit", 9223372036854775807);
+define("MAX_32Bit", 2147483647);
+define("MIN_64Bit", -9223372036854775807 - 1);
+define("MIN_32Bit", -2147483647 - 1);
+
+$longVals = array(
+ MAX_64Bit, MIN_64Bit, MAX_32Bit, MIN_32Bit, MAX_64Bit - MAX_32Bit, MIN_64Bit - MIN_32Bit,
+ MAX_32Bit + 1, MIN_32Bit - 1, MAX_32Bit * 2, (MAX_32Bit * 2) + 1, (MAX_32Bit * 2) - 1,
+ MAX_64Bit -1, MAX_64Bit + 1, MIN_64Bit + 1, MIN_64Bit - 1
+);
+
+$otherVals = array(0, 1, -1, 7, 9, 65, -44, MAX_32Bit, MAX_64Bit);
+
+error_reporting(E_ERROR);
+
+foreach ($longVals as $longVal) {
+ foreach($otherVals as $otherVal) {
+ echo "--- testing: $longVal & $otherVal ---\n";
+ var_dump($longVal&$otherVal);
+ }
+}
+
+foreach ($otherVals as $otherVal) {
+ foreach($longVals as $longVal) {
+ echo "--- testing: $otherVal & $longVal ---\n";
+ var_dump($otherVal&$longVal);
+ }
+}
+
+?>
+===DONE===
+--EXPECT--
+--- testing: 9223372036854775807 & 0 ---
+int(0)
+--- testing: 9223372036854775807 & 1 ---
+int(1)
+--- testing: 9223372036854775807 & -1 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 & 7 ---
+int(7)
+--- testing: 9223372036854775807 & 9 ---
+int(9)
+--- testing: 9223372036854775807 & 65 ---
+int(65)
+--- testing: 9223372036854775807 & -44 ---
+int(9223372036854775764)
+--- testing: 9223372036854775807 & 2147483647 ---
+int(2147483647)
+--- testing: 9223372036854775807 & 9223372036854775807 ---
+int(9223372036854775807)
+--- testing: -9223372036854775808 & 0 ---
+int(0)
+--- testing: -9223372036854775808 & 1 ---
+int(0)
+--- testing: -9223372036854775808 & -1 ---
+int(-9223372036854775808)
+--- testing: -9223372036854775808 & 7 ---
+int(0)
+--- testing: -9223372036854775808 & 9 ---
+int(0)
+--- testing: -9223372036854775808 & 65 ---
+int(0)
+--- testing: -9223372036854775808 & -44 ---
+int(-9223372036854775808)
+--- testing: -9223372036854775808 & 2147483647 ---
+int(0)
+--- testing: -9223372036854775808 & 9223372036854775807 ---
+int(0)
+--- testing: 2147483647 & 0 ---
+int(0)
+--- testing: 2147483647 & 1 ---
+int(1)
+--- testing: 2147483647 & -1 ---
+int(2147483647)
+--- testing: 2147483647 & 7 ---
+int(7)
+--- testing: 2147483647 & 9 ---
+int(9)
+--- testing: 2147483647 & 65 ---
+int(65)
+--- testing: 2147483647 & -44 ---
+int(2147483604)
+--- testing: 2147483647 & 2147483647 ---
+int(2147483647)
+--- testing: 2147483647 & 9223372036854775807 ---
+int(2147483647)
+--- testing: -2147483648 & 0 ---
+int(0)
+--- testing: -2147483648 & 1 ---
+int(0)
+--- testing: -2147483648 & -1 ---
+int(-2147483648)
+--- testing: -2147483648 & 7 ---
+int(0)
+--- testing: -2147483648 & 9 ---
+int(0)
+--- testing: -2147483648 & 65 ---
+int(0)
+--- testing: -2147483648 & -44 ---
+int(-2147483648)
+--- testing: -2147483648 & 2147483647 ---
+int(0)
+--- testing: -2147483648 & 9223372036854775807 ---
+int(9223372034707292160)
+--- testing: 9223372034707292160 & 0 ---
+int(0)
+--- testing: 9223372034707292160 & 1 ---
+int(0)
+--- testing: 9223372034707292160 & -1 ---
+int(9223372034707292160)
+--- testing: 9223372034707292160 & 7 ---
+int(0)
+--- testing: 9223372034707292160 & 9 ---
+int(0)
+--- testing: 9223372034707292160 & 65 ---
+int(0)
+--- testing: 9223372034707292160 & -44 ---
+int(9223372034707292160)
+--- testing: 9223372034707292160 & 2147483647 ---
+int(0)
+--- testing: 9223372034707292160 & 9223372036854775807 ---
+int(9223372034707292160)
+--- testing: -9223372034707292160 & 0 ---
+int(0)
+--- testing: -9223372034707292160 & 1 ---
+int(0)
+--- testing: -9223372034707292160 & -1 ---
+int(-9223372034707292160)
+--- testing: -9223372034707292160 & 7 ---
+int(0)
+--- testing: -9223372034707292160 & 9 ---
+int(0)
+--- testing: -9223372034707292160 & 65 ---
+int(0)
+--- testing: -9223372034707292160 & -44 ---
+int(-9223372034707292160)
+--- testing: -9223372034707292160 & 2147483647 ---
+int(0)
+--- testing: -9223372034707292160 & 9223372036854775807 ---
+int(2147483648)
+--- testing: 2147483648 & 0 ---
+int(0)
+--- testing: 2147483648 & 1 ---
+int(0)
+--- testing: 2147483648 & -1 ---
+int(2147483648)
+--- testing: 2147483648 & 7 ---
+int(0)
+--- testing: 2147483648 & 9 ---
+int(0)
+--- testing: 2147483648 & 65 ---
+int(0)
+--- testing: 2147483648 & -44 ---
+int(2147483648)
+--- testing: 2147483648 & 2147483647 ---
+int(0)
+--- testing: 2147483648 & 9223372036854775807 ---
+int(2147483648)
+--- testing: -2147483649 & 0 ---
+int(0)
+--- testing: -2147483649 & 1 ---
+int(1)
+--- testing: -2147483649 & -1 ---
+int(-2147483649)
+--- testing: -2147483649 & 7 ---
+int(7)
+--- testing: -2147483649 & 9 ---
+int(9)
+--- testing: -2147483649 & 65 ---
+int(65)
+--- testing: -2147483649 & -44 ---
+int(-2147483692)
+--- testing: -2147483649 & 2147483647 ---
+int(2147483647)
+--- testing: -2147483649 & 9223372036854775807 ---
+int(9223372034707292159)
+--- testing: 4294967294 & 0 ---
+int(0)
+--- testing: 4294967294 & 1 ---
+int(0)
+--- testing: 4294967294 & -1 ---
+int(4294967294)
+--- testing: 4294967294 & 7 ---
+int(6)
+--- testing: 4294967294 & 9 ---
+int(8)
+--- testing: 4294967294 & 65 ---
+int(64)
+--- testing: 4294967294 & -44 ---
+int(4294967252)
+--- testing: 4294967294 & 2147483647 ---
+int(2147483646)
+--- testing: 4294967294 & 9223372036854775807 ---
+int(4294967294)
+--- testing: 4294967295 & 0 ---
+int(0)
+--- testing: 4294967295 & 1 ---
+int(1)
+--- testing: 4294967295 & -1 ---
+int(4294967295)
+--- testing: 4294967295 & 7 ---
+int(7)
+--- testing: 4294967295 & 9 ---
+int(9)
+--- testing: 4294967295 & 65 ---
+int(65)
+--- testing: 4294967295 & -44 ---
+int(4294967252)
+--- testing: 4294967295 & 2147483647 ---
+int(2147483647)
+--- testing: 4294967295 & 9223372036854775807 ---
+int(4294967295)
+--- testing: 4294967293 & 0 ---
+int(0)
+--- testing: 4294967293 & 1 ---
+int(1)
+--- testing: 4294967293 & -1 ---
+int(4294967293)
+--- testing: 4294967293 & 7 ---
+int(5)
+--- testing: 4294967293 & 9 ---
+int(9)
+--- testing: 4294967293 & 65 ---
+int(65)
+--- testing: 4294967293 & -44 ---
+int(4294967252)
+--- testing: 4294967293 & 2147483647 ---
+int(2147483645)
+--- testing: 4294967293 & 9223372036854775807 ---
+int(4294967293)
+--- testing: 9223372036854775806 & 0 ---
+int(0)
+--- testing: 9223372036854775806 & 1 ---
+int(0)
+--- testing: 9223372036854775806 & -1 ---
+int(9223372036854775806)
+--- testing: 9223372036854775806 & 7 ---
+int(6)
+--- testing: 9223372036854775806 & 9 ---
+int(8)
+--- testing: 9223372036854775806 & 65 ---
+int(64)
+--- testing: 9223372036854775806 & -44 ---
+int(9223372036854775764)
+--- testing: 9223372036854775806 & 2147483647 ---
+int(2147483646)
+--- testing: 9223372036854775806 & 9223372036854775807 ---
+int(9223372036854775806)
+--- testing: 9.2233720368548E+18 & 0 ---
+int(0)
+--- testing: 9.2233720368548E+18 & 1 ---
+int(0)
+--- testing: 9.2233720368548E+18 & -1 ---
+int(-9223372036854775808)
+--- testing: 9.2233720368548E+18 & 7 ---
+int(0)
+--- testing: 9.2233720368548E+18 & 9 ---
+int(0)
+--- testing: 9.2233720368548E+18 & 65 ---
+int(0)
+--- testing: 9.2233720368548E+18 & -44 ---
+int(-9223372036854775808)
+--- testing: 9.2233720368548E+18 & 2147483647 ---
+int(0)
+--- testing: 9.2233720368548E+18 & 9223372036854775807 ---
+int(0)
+--- testing: -9223372036854775807 & 0 ---
+int(0)
+--- testing: -9223372036854775807 & 1 ---
+int(1)
+--- testing: -9223372036854775807 & -1 ---
+int(-9223372036854775807)
+--- testing: -9223372036854775807 & 7 ---
+int(1)
+--- testing: -9223372036854775807 & 9 ---
+int(1)
+--- testing: -9223372036854775807 & 65 ---
+int(1)
+--- testing: -9223372036854775807 & -44 ---
+int(-9223372036854775808)
+--- testing: -9223372036854775807 & 2147483647 ---
+int(1)
+--- testing: -9223372036854775807 & 9223372036854775807 ---
+int(1)
+--- testing: -9.2233720368548E+18 & 0 ---
+int(0)
+--- testing: -9.2233720368548E+18 & 1 ---
+int(0)
+--- testing: -9.2233720368548E+18 & -1 ---
+int(-9223372036854775808)
+--- testing: -9.2233720368548E+18 & 7 ---
+int(0)
+--- testing: -9.2233720368548E+18 & 9 ---
+int(0)
+--- testing: -9.2233720368548E+18 & 65 ---
+int(0)
+--- testing: -9.2233720368548E+18 & -44 ---
+int(-9223372036854775808)
+--- testing: -9.2233720368548E+18 & 2147483647 ---
+int(0)
+--- testing: -9.2233720368548E+18 & 9223372036854775807 ---
+int(0)
+--- testing: 0 & 9223372036854775807 ---
+int(0)
+--- testing: 0 & -9223372036854775808 ---
+int(0)
+--- testing: 0 & 2147483647 ---
+int(0)
+--- testing: 0 & -2147483648 ---
+int(0)
+--- testing: 0 & 9223372034707292160 ---
+int(0)
+--- testing: 0 & -9223372034707292160 ---
+int(0)
+--- testing: 0 & 2147483648 ---
+int(0)
+--- testing: 0 & -2147483649 ---
+int(0)
+--- testing: 0 & 4294967294 ---
+int(0)
+--- testing: 0 & 4294967295 ---
+int(0)
+--- testing: 0 & 4294967293 ---
+int(0)
+--- testing: 0 & 9223372036854775806 ---
+int(0)
+--- testing: 0 & 9.2233720368548E+18 ---
+int(0)
+--- testing: 0 & -9223372036854775807 ---
+int(0)
+--- testing: 0 & -9.2233720368548E+18 ---
+int(0)
+--- testing: 1 & 9223372036854775807 ---
+int(1)
+--- testing: 1 & -9223372036854775808 ---
+int(0)
+--- testing: 1 & 2147483647 ---
+int(1)
+--- testing: 1 & -2147483648 ---
+int(0)
+--- testing: 1 & 9223372034707292160 ---
+int(0)
+--- testing: 1 & -9223372034707292160 ---
+int(0)
+--- testing: 1 & 2147483648 ---
+int(0)
+--- testing: 1 & -2147483649 ---
+int(1)
+--- testing: 1 & 4294967294 ---
+int(0)
+--- testing: 1 & 4294967295 ---
+int(1)
+--- testing: 1 & 4294967293 ---
+int(1)
+--- testing: 1 & 9223372036854775806 ---
+int(0)
+--- testing: 1 & 9.2233720368548E+18 ---
+int(0)
+--- testing: 1 & -9223372036854775807 ---
+int(1)
+--- testing: 1 & -9.2233720368548E+18 ---
+int(0)
+--- testing: -1 & 9223372036854775807 ---
+int(9223372036854775807)
+--- testing: -1 & -9223372036854775808 ---
+int(-9223372036854775808)
+--- testing: -1 & 2147483647 ---
+int(2147483647)
+--- testing: -1 & -2147483648 ---
+int(-2147483648)
+--- testing: -1 & 9223372034707292160 ---
+int(9223372034707292160)
+--- testing: -1 & -9223372034707292160 ---
+int(-9223372034707292160)
+--- testing: -1 & 2147483648 ---
+int(2147483648)
+--- testing: -1 & -2147483649 ---
+int(-2147483649)
+--- testing: -1 & 4294967294 ---
+int(4294967294)
+--- testing: -1 & 4294967295 ---
+int(4294967295)
+--- testing: -1 & 4294967293 ---
+int(4294967293)
+--- testing: -1 & 9223372036854775806 ---
+int(9223372036854775806)
+--- testing: -1 & 9.2233720368548E+18 ---
+int(-9223372036854775808)
+--- testing: -1 & -9223372036854775807 ---
+int(-9223372036854775807)
+--- testing: -1 & -9.2233720368548E+18 ---
+int(-9223372036854775808)
+--- testing: 7 & 9223372036854775807 ---
+int(7)
+--- testing: 7 & -9223372036854775808 ---
+int(0)
+--- testing: 7 & 2147483647 ---
+int(7)
+--- testing: 7 & -2147483648 ---
+int(0)
+--- testing: 7 & 9223372034707292160 ---
+int(0)
+--- testing: 7 & -9223372034707292160 ---
+int(0)
+--- testing: 7 & 2147483648 ---
+int(0)
+--- testing: 7 & -2147483649 ---
+int(7)
+--- testing: 7 & 4294967294 ---
+int(6)
+--- testing: 7 & 4294967295 ---
+int(7)
+--- testing: 7 & 4294967293 ---
+int(5)
+--- testing: 7 & 9223372036854775806 ---
+int(6)
+--- testing: 7 & 9.2233720368548E+18 ---
+int(0)
+--- testing: 7 & -9223372036854775807 ---
+int(1)
+--- testing: 7 & -9.2233720368548E+18 ---
+int(0)
+--- testing: 9 & 9223372036854775807 ---
+int(9)
+--- testing: 9 & -9223372036854775808 ---
+int(0)
+--- testing: 9 & 2147483647 ---
+int(9)
+--- testing: 9 & -2147483648 ---
+int(0)
+--- testing: 9 & 9223372034707292160 ---
+int(0)
+--- testing: 9 & -9223372034707292160 ---
+int(0)
+--- testing: 9 & 2147483648 ---
+int(0)
+--- testing: 9 & -2147483649 ---
+int(9)
+--- testing: 9 & 4294967294 ---
+int(8)
+--- testing: 9 & 4294967295 ---
+int(9)
+--- testing: 9 & 4294967293 ---
+int(9)
+--- testing: 9 & 9223372036854775806 ---
+int(8)
+--- testing: 9 & 9.2233720368548E+18 ---
+int(0)
+--- testing: 9 & -9223372036854775807 ---
+int(1)
+--- testing: 9 & -9.2233720368548E+18 ---
+int(0)
+--- testing: 65 & 9223372036854775807 ---
+int(65)
+--- testing: 65 & -9223372036854775808 ---
+int(0)
+--- testing: 65 & 2147483647 ---
+int(65)
+--- testing: 65 & -2147483648 ---
+int(0)
+--- testing: 65 & 9223372034707292160 ---
+int(0)
+--- testing: 65 & -9223372034707292160 ---
+int(0)
+--- testing: 65 & 2147483648 ---
+int(0)
+--- testing: 65 & -2147483649 ---
+int(65)
+--- testing: 65 & 4294967294 ---
+int(64)
+--- testing: 65 & 4294967295 ---
+int(65)
+--- testing: 65 & 4294967293 ---
+int(65)
+--- testing: 65 & 9223372036854775806 ---
+int(64)
+--- testing: 65 & 9.2233720368548E+18 ---
+int(0)
+--- testing: 65 & -9223372036854775807 ---
+int(1)
+--- testing: 65 & -9.2233720368548E+18 ---
+int(0)
+--- testing: -44 & 9223372036854775807 ---
+int(9223372036854775764)
+--- testing: -44 & -9223372036854775808 ---
+int(-9223372036854775808)
+--- testing: -44 & 2147483647 ---
+int(2147483604)
+--- testing: -44 & -2147483648 ---
+int(-2147483648)
+--- testing: -44 & 9223372034707292160 ---
+int(9223372034707292160)
+--- testing: -44 & -9223372034707292160 ---
+int(-9223372034707292160)
+--- testing: -44 & 2147483648 ---
+int(2147483648)
+--- testing: -44 & -2147483649 ---
+int(-2147483692)
+--- testing: -44 & 4294967294 ---
+int(4294967252)
+--- testing: -44 & 4294967295 ---
+int(4294967252)
+--- testing: -44 & 4294967293 ---
+int(4294967252)
+--- testing: -44 & 9223372036854775806 ---
+int(9223372036854775764)
+--- testing: -44 & 9.2233720368548E+18 ---
+int(-9223372036854775808)
+--- testing: -44 & -9223372036854775807 ---
+int(-9223372036854775808)
+--- testing: -44 & -9.2233720368548E+18 ---
+int(-9223372036854775808)
+--- testing: 2147483647 & 9223372036854775807 ---
+int(2147483647)
+--- testing: 2147483647 & -9223372036854775808 ---
+int(0)
+--- testing: 2147483647 & 2147483647 ---
+int(2147483647)
+--- testing: 2147483647 & -2147483648 ---
+int(0)
+--- testing: 2147483647 & 9223372034707292160 ---
+int(0)
+--- testing: 2147483647 & -9223372034707292160 ---
+int(0)
+--- testing: 2147483647 & 2147483648 ---
+int(0)
+--- testing: 2147483647 & -2147483649 ---
+int(2147483647)
+--- testing: 2147483647 & 4294967294 ---
+int(2147483646)
+--- testing: 2147483647 & 4294967295 ---
+int(2147483647)
+--- testing: 2147483647 & 4294967293 ---
+int(2147483645)
+--- testing: 2147483647 & 9223372036854775806 ---
+int(2147483646)
+--- testing: 2147483647 & 9.2233720368548E+18 ---
+int(0)
+--- testing: 2147483647 & -9223372036854775807 ---
+int(1)
+--- testing: 2147483647 & -9.2233720368548E+18 ---
+int(0)
+--- testing: 9223372036854775807 & 9223372036854775807 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 & -9223372036854775808 ---
+int(0)
+--- testing: 9223372036854775807 & 2147483647 ---
+int(2147483647)
+--- testing: 9223372036854775807 & -2147483648 ---
+int(9223372034707292160)
+--- testing: 9223372036854775807 & 9223372034707292160 ---
+int(9223372034707292160)
+--- testing: 9223372036854775807 & -9223372034707292160 ---
+int(2147483648)
+--- testing: 9223372036854775807 & 2147483648 ---
+int(2147483648)
+--- testing: 9223372036854775807 & -2147483649 ---
+int(9223372034707292159)
+--- testing: 9223372036854775807 & 4294967294 ---
+int(4294967294)
+--- testing: 9223372036854775807 & 4294967295 ---
+int(4294967295)
+--- testing: 9223372036854775807 & 4294967293 ---
+int(4294967293)
+--- testing: 9223372036854775807 & 9223372036854775806 ---
+int(9223372036854775806)
+--- testing: 9223372036854775807 & 9.2233720368548E+18 ---
+int(0)
+--- testing: 9223372036854775807 & -9223372036854775807 ---
+int(1)
+--- testing: 9223372036854775807 & -9.2233720368548E+18 ---
+int(0)
+===DONE=== \ No newline at end of file
diff --git a/tests/lang/operators/bitwiseNot_basiclong_64bit.phpt b/tests/lang/operators/bitwiseNot_basiclong_64bit.phpt
new file mode 100644
index 0000000000..227b734c2c
--- /dev/null
+++ b/tests/lang/operators/bitwiseNot_basiclong_64bit.phpt
@@ -0,0 +1,60 @@
+--TEST--
+Test ~N operator : 64bit long tests
+--SKIPIF--
+<?php
+if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
+?>
+--FILE--
+<?php
+
+define("MAX_64Bit", 9223372036854775807);
+define("MAX_32Bit", 2147483647);
+define("MIN_64Bit", -9223372036854775807 - 1);
+define("MIN_32Bit", -2147483647 - 1);
+
+$longVals = array(
+ MAX_64Bit, MIN_64Bit, MAX_32Bit, MIN_32Bit, MAX_64Bit - MAX_32Bit, MIN_64Bit - MIN_32Bit,
+ MAX_32Bit + 1, MIN_32Bit - 1, MAX_32Bit * 2, (MAX_32Bit * 2) + 1, (MAX_32Bit * 2) - 1,
+ MAX_64Bit -1, MAX_64Bit + 1, MIN_64Bit + 1, MIN_64Bit - 1
+);
+
+
+foreach ($longVals as $longVal) {
+ echo "--- testing: $longVal ---\n";
+ var_dump(~$longVal);
+}
+
+?>
+===DONE===
+--EXPECT--
+--- testing: 9223372036854775807 ---
+int(-9223372036854775808)
+--- testing: -9223372036854775808 ---
+int(9223372036854775807)
+--- testing: 2147483647 ---
+int(-2147483648)
+--- testing: -2147483648 ---
+int(2147483647)
+--- testing: 9223372034707292160 ---
+int(-9223372034707292161)
+--- testing: -9223372034707292160 ---
+int(9223372034707292159)
+--- testing: 2147483648 ---
+int(-2147483649)
+--- testing: -2147483649 ---
+int(2147483648)
+--- testing: 4294967294 ---
+int(-4294967295)
+--- testing: 4294967295 ---
+int(-4294967296)
+--- testing: 4294967293 ---
+int(-4294967294)
+--- testing: 9223372036854775806 ---
+int(-9223372036854775807)
+--- testing: 9.2233720368548E+18 ---
+int(9223372036854775807)
+--- testing: -9223372036854775807 ---
+int(9223372036854775806)
+--- testing: -9.2233720368548E+18 ---
+int(9223372036854775807)
+===DONE=== \ No newline at end of file
diff --git a/tests/lang/operators/bitwiseOr_basiclong_64bit.phpt b/tests/lang/operators/bitwiseOr_basiclong_64bit.phpt
new file mode 100644
index 0000000000..e26d46a547
--- /dev/null
+++ b/tests/lang/operators/bitwiseOr_basiclong_64bit.phpt
@@ -0,0 +1,583 @@
+--TEST--
+Test | operator : 64bit long tests
+--SKIPIF--
+<?php
+if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
+?>
+--FILE--
+<?php
+
+define("MAX_64Bit", 9223372036854775807);
+define("MAX_32Bit", 2147483647);
+define("MIN_64Bit", -9223372036854775807 - 1);
+define("MIN_32Bit", -2147483647 - 1);
+
+$longVals = array(
+ MAX_64Bit, MIN_64Bit, MAX_32Bit, MIN_32Bit, MAX_64Bit - MAX_32Bit, MIN_64Bit - MIN_32Bit,
+ MAX_32Bit + 1, MIN_32Bit - 1, MAX_32Bit * 2, (MAX_32Bit * 2) + 1, (MAX_32Bit * 2) - 1,
+ MAX_64Bit -1, MAX_64Bit + 1, MIN_64Bit + 1, MIN_64Bit - 1
+);
+
+$otherVals = array(0, 1, -1, 7, 9, 65, -44, MAX_32Bit, MAX_64Bit);
+
+error_reporting(E_ERROR);
+
+foreach ($longVals as $longVal) {
+ foreach($otherVals as $otherVal) {
+ echo "--- testing: $longVal | $otherVal ---\n";
+ var_dump($longVal|$otherVal);
+ }
+}
+
+foreach ($otherVals as $otherVal) {
+ foreach($longVals as $longVal) {
+ echo "--- testing: $otherVal | $longVal ---\n";
+ var_dump($otherVal|$longVal);
+ }
+}
+
+?>
+===DONE===
+--EXPECT--
+--- testing: 9223372036854775807 | 0 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 | 1 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 | -1 ---
+int(-1)
+--- testing: 9223372036854775807 | 7 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 | 9 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 | 65 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 | -44 ---
+int(-1)
+--- testing: 9223372036854775807 | 2147483647 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 | 9223372036854775807 ---
+int(9223372036854775807)
+--- testing: -9223372036854775808 | 0 ---
+int(-9223372036854775808)
+--- testing: -9223372036854775808 | 1 ---
+int(-9223372036854775807)
+--- testing: -9223372036854775808 | -1 ---
+int(-1)
+--- testing: -9223372036854775808 | 7 ---
+int(-9223372036854775801)
+--- testing: -9223372036854775808 | 9 ---
+int(-9223372036854775799)
+--- testing: -9223372036854775808 | 65 ---
+int(-9223372036854775743)
+--- testing: -9223372036854775808 | -44 ---
+int(-44)
+--- testing: -9223372036854775808 | 2147483647 ---
+int(-9223372034707292161)
+--- testing: -9223372036854775808 | 9223372036854775807 ---
+int(-1)
+--- testing: 2147483647 | 0 ---
+int(2147483647)
+--- testing: 2147483647 | 1 ---
+int(2147483647)
+--- testing: 2147483647 | -1 ---
+int(-1)
+--- testing: 2147483647 | 7 ---
+int(2147483647)
+--- testing: 2147483647 | 9 ---
+int(2147483647)
+--- testing: 2147483647 | 65 ---
+int(2147483647)
+--- testing: 2147483647 | -44 ---
+int(-1)
+--- testing: 2147483647 | 2147483647 ---
+int(2147483647)
+--- testing: 2147483647 | 9223372036854775807 ---
+int(9223372036854775807)
+--- testing: -2147483648 | 0 ---
+int(-2147483648)
+--- testing: -2147483648 | 1 ---
+int(-2147483647)
+--- testing: -2147483648 | -1 ---
+int(-1)
+--- testing: -2147483648 | 7 ---
+int(-2147483641)
+--- testing: -2147483648 | 9 ---
+int(-2147483639)
+--- testing: -2147483648 | 65 ---
+int(-2147483583)
+--- testing: -2147483648 | -44 ---
+int(-44)
+--- testing: -2147483648 | 2147483647 ---
+int(-1)
+--- testing: -2147483648 | 9223372036854775807 ---
+int(-1)
+--- testing: 9223372034707292160 | 0 ---
+int(9223372034707292160)
+--- testing: 9223372034707292160 | 1 ---
+int(9223372034707292161)
+--- testing: 9223372034707292160 | -1 ---
+int(-1)
+--- testing: 9223372034707292160 | 7 ---
+int(9223372034707292167)
+--- testing: 9223372034707292160 | 9 ---
+int(9223372034707292169)
+--- testing: 9223372034707292160 | 65 ---
+int(9223372034707292225)
+--- testing: 9223372034707292160 | -44 ---
+int(-44)
+--- testing: 9223372034707292160 | 2147483647 ---
+int(9223372036854775807)
+--- testing: 9223372034707292160 | 9223372036854775807 ---
+int(9223372036854775807)
+--- testing: -9223372034707292160 | 0 ---
+int(-9223372034707292160)
+--- testing: -9223372034707292160 | 1 ---
+int(-9223372034707292159)
+--- testing: -9223372034707292160 | -1 ---
+int(-1)
+--- testing: -9223372034707292160 | 7 ---
+int(-9223372034707292153)
+--- testing: -9223372034707292160 | 9 ---
+int(-9223372034707292151)
+--- testing: -9223372034707292160 | 65 ---
+int(-9223372034707292095)
+--- testing: -9223372034707292160 | -44 ---
+int(-44)
+--- testing: -9223372034707292160 | 2147483647 ---
+int(-9223372032559808513)
+--- testing: -9223372034707292160 | 9223372036854775807 ---
+int(-1)
+--- testing: 2147483648 | 0 ---
+int(2147483648)
+--- testing: 2147483648 | 1 ---
+int(2147483649)
+--- testing: 2147483648 | -1 ---
+int(-1)
+--- testing: 2147483648 | 7 ---
+int(2147483655)
+--- testing: 2147483648 | 9 ---
+int(2147483657)
+--- testing: 2147483648 | 65 ---
+int(2147483713)
+--- testing: 2147483648 | -44 ---
+int(-44)
+--- testing: 2147483648 | 2147483647 ---
+int(4294967295)
+--- testing: 2147483648 | 9223372036854775807 ---
+int(9223372036854775807)
+--- testing: -2147483649 | 0 ---
+int(-2147483649)
+--- testing: -2147483649 | 1 ---
+int(-2147483649)
+--- testing: -2147483649 | -1 ---
+int(-1)
+--- testing: -2147483649 | 7 ---
+int(-2147483649)
+--- testing: -2147483649 | 9 ---
+int(-2147483649)
+--- testing: -2147483649 | 65 ---
+int(-2147483649)
+--- testing: -2147483649 | -44 ---
+int(-1)
+--- testing: -2147483649 | 2147483647 ---
+int(-2147483649)
+--- testing: -2147483649 | 9223372036854775807 ---
+int(-1)
+--- testing: 4294967294 | 0 ---
+int(4294967294)
+--- testing: 4294967294 | 1 ---
+int(4294967295)
+--- testing: 4294967294 | -1 ---
+int(-1)
+--- testing: 4294967294 | 7 ---
+int(4294967295)
+--- testing: 4294967294 | 9 ---
+int(4294967295)
+--- testing: 4294967294 | 65 ---
+int(4294967295)
+--- testing: 4294967294 | -44 ---
+int(-2)
+--- testing: 4294967294 | 2147483647 ---
+int(4294967295)
+--- testing: 4294967294 | 9223372036854775807 ---
+int(9223372036854775807)
+--- testing: 4294967295 | 0 ---
+int(4294967295)
+--- testing: 4294967295 | 1 ---
+int(4294967295)
+--- testing: 4294967295 | -1 ---
+int(-1)
+--- testing: 4294967295 | 7 ---
+int(4294967295)
+--- testing: 4294967295 | 9 ---
+int(4294967295)
+--- testing: 4294967295 | 65 ---
+int(4294967295)
+--- testing: 4294967295 | -44 ---
+int(-1)
+--- testing: 4294967295 | 2147483647 ---
+int(4294967295)
+--- testing: 4294967295 | 9223372036854775807 ---
+int(9223372036854775807)
+--- testing: 4294967293 | 0 ---
+int(4294967293)
+--- testing: 4294967293 | 1 ---
+int(4294967293)
+--- testing: 4294967293 | -1 ---
+int(-1)
+--- testing: 4294967293 | 7 ---
+int(4294967295)
+--- testing: 4294967293 | 9 ---
+int(4294967293)
+--- testing: 4294967293 | 65 ---
+int(4294967293)
+--- testing: 4294967293 | -44 ---
+int(-3)
+--- testing: 4294967293 | 2147483647 ---
+int(4294967295)
+--- testing: 4294967293 | 9223372036854775807 ---
+int(9223372036854775807)
+--- testing: 9223372036854775806 | 0 ---
+int(9223372036854775806)
+--- testing: 9223372036854775806 | 1 ---
+int(9223372036854775807)
+--- testing: 9223372036854775806 | -1 ---
+int(-1)
+--- testing: 9223372036854775806 | 7 ---
+int(9223372036854775807)
+--- testing: 9223372036854775806 | 9 ---
+int(9223372036854775807)
+--- testing: 9223372036854775806 | 65 ---
+int(9223372036854775807)
+--- testing: 9223372036854775806 | -44 ---
+int(-2)
+--- testing: 9223372036854775806 | 2147483647 ---
+int(9223372036854775807)
+--- testing: 9223372036854775806 | 9223372036854775807 ---
+int(9223372036854775807)
+--- testing: 9.2233720368548E+18 | 0 ---
+int(-9223372036854775808)
+--- testing: 9.2233720368548E+18 | 1 ---
+int(-9223372036854775807)
+--- testing: 9.2233720368548E+18 | -1 ---
+int(-1)
+--- testing: 9.2233720368548E+18 | 7 ---
+int(-9223372036854775801)
+--- testing: 9.2233720368548E+18 | 9 ---
+int(-9223372036854775799)
+--- testing: 9.2233720368548E+18 | 65 ---
+int(-9223372036854775743)
+--- testing: 9.2233720368548E+18 | -44 ---
+int(-44)
+--- testing: 9.2233720368548E+18 | 2147483647 ---
+int(-9223372034707292161)
+--- testing: 9.2233720368548E+18 | 9223372036854775807 ---
+int(-1)
+--- testing: -9223372036854775807 | 0 ---
+int(-9223372036854775807)
+--- testing: -9223372036854775807 | 1 ---
+int(-9223372036854775807)
+--- testing: -9223372036854775807 | -1 ---
+int(-1)
+--- testing: -9223372036854775807 | 7 ---
+int(-9223372036854775801)
+--- testing: -9223372036854775807 | 9 ---
+int(-9223372036854775799)
+--- testing: -9223372036854775807 | 65 ---
+int(-9223372036854775743)
+--- testing: -9223372036854775807 | -44 ---
+int(-43)
+--- testing: -9223372036854775807 | 2147483647 ---
+int(-9223372034707292161)
+--- testing: -9223372036854775807 | 9223372036854775807 ---
+int(-1)
+--- testing: -9.2233720368548E+18 | 0 ---
+int(-9223372036854775808)
+--- testing: -9.2233720368548E+18 | 1 ---
+int(-9223372036854775807)
+--- testing: -9.2233720368548E+18 | -1 ---
+int(-1)
+--- testing: -9.2233720368548E+18 | 7 ---
+int(-9223372036854775801)
+--- testing: -9.2233720368548E+18 | 9 ---
+int(-9223372036854775799)
+--- testing: -9.2233720368548E+18 | 65 ---
+int(-9223372036854775743)
+--- testing: -9.2233720368548E+18 | -44 ---
+int(-44)
+--- testing: -9.2233720368548E+18 | 2147483647 ---
+int(-9223372034707292161)
+--- testing: -9.2233720368548E+18 | 9223372036854775807 ---
+int(-1)
+--- testing: 0 | 9223372036854775807 ---
+int(9223372036854775807)
+--- testing: 0 | -9223372036854775808 ---
+int(-9223372036854775808)
+--- testing: 0 | 2147483647 ---
+int(2147483647)
+--- testing: 0 | -2147483648 ---
+int(-2147483648)
+--- testing: 0 | 9223372034707292160 ---
+int(9223372034707292160)
+--- testing: 0 | -9223372034707292160 ---
+int(-9223372034707292160)
+--- testing: 0 | 2147483648 ---
+int(2147483648)
+--- testing: 0 | -2147483649 ---
+int(-2147483649)
+--- testing: 0 | 4294967294 ---
+int(4294967294)
+--- testing: 0 | 4294967295 ---
+int(4294967295)
+--- testing: 0 | 4294967293 ---
+int(4294967293)
+--- testing: 0 | 9223372036854775806 ---
+int(9223372036854775806)
+--- testing: 0 | 9.2233720368548E+18 ---
+int(-9223372036854775808)
+--- testing: 0 | -9223372036854775807 ---
+int(-9223372036854775807)
+--- testing: 0 | -9.2233720368548E+18 ---
+int(-9223372036854775808)
+--- testing: 1 | 9223372036854775807 ---
+int(9223372036854775807)
+--- testing: 1 | -9223372036854775808 ---
+int(-9223372036854775807)
+--- testing: 1 | 2147483647 ---
+int(2147483647)
+--- testing: 1 | -2147483648 ---
+int(-2147483647)
+--- testing: 1 | 9223372034707292160 ---
+int(9223372034707292161)
+--- testing: 1 | -9223372034707292160 ---
+int(-9223372034707292159)
+--- testing: 1 | 2147483648 ---
+int(2147483649)
+--- testing: 1 | -2147483649 ---
+int(-2147483649)
+--- testing: 1 | 4294967294 ---
+int(4294967295)
+--- testing: 1 | 4294967295 ---
+int(4294967295)
+--- testing: 1 | 4294967293 ---
+int(4294967293)
+--- testing: 1 | 9223372036854775806 ---
+int(9223372036854775807)
+--- testing: 1 | 9.2233720368548E+18 ---
+int(-9223372036854775807)
+--- testing: 1 | -9223372036854775807 ---
+int(-9223372036854775807)
+--- testing: 1 | -9.2233720368548E+18 ---
+int(-9223372036854775807)
+--- testing: -1 | 9223372036854775807 ---
+int(-1)
+--- testing: -1 | -9223372036854775808 ---
+int(-1)
+--- testing: -1 | 2147483647 ---
+int(-1)
+--- testing: -1 | -2147483648 ---
+int(-1)
+--- testing: -1 | 9223372034707292160 ---
+int(-1)
+--- testing: -1 | -9223372034707292160 ---
+int(-1)
+--- testing: -1 | 2147483648 ---
+int(-1)
+--- testing: -1 | -2147483649 ---
+int(-1)
+--- testing: -1 | 4294967294 ---
+int(-1)
+--- testing: -1 | 4294967295 ---
+int(-1)
+--- testing: -1 | 4294967293 ---
+int(-1)
+--- testing: -1 | 9223372036854775806 ---
+int(-1)
+--- testing: -1 | 9.2233720368548E+18 ---
+int(-1)
+--- testing: -1 | -9223372036854775807 ---
+int(-1)
+--- testing: -1 | -9.2233720368548E+18 ---
+int(-1)
+--- testing: 7 | 9223372036854775807 ---
+int(9223372036854775807)
+--- testing: 7 | -9223372036854775808 ---
+int(-9223372036854775801)
+--- testing: 7 | 2147483647 ---
+int(2147483647)
+--- testing: 7 | -2147483648 ---
+int(-2147483641)
+--- testing: 7 | 9223372034707292160 ---
+int(9223372034707292167)
+--- testing: 7 | -9223372034707292160 ---
+int(-9223372034707292153)
+--- testing: 7 | 2147483648 ---
+int(2147483655)
+--- testing: 7 | -2147483649 ---
+int(-2147483649)
+--- testing: 7 | 4294967294 ---
+int(4294967295)
+--- testing: 7 | 4294967295 ---
+int(4294967295)
+--- testing: 7 | 4294967293 ---
+int(4294967295)
+--- testing: 7 | 9223372036854775806 ---
+int(9223372036854775807)
+--- testing: 7 | 9.2233720368548E+18 ---
+int(-9223372036854775801)
+--- testing: 7 | -9223372036854775807 ---
+int(-9223372036854775801)
+--- testing: 7 | -9.2233720368548E+18 ---
+int(-9223372036854775801)
+--- testing: 9 | 9223372036854775807 ---
+int(9223372036854775807)
+--- testing: 9 | -9223372036854775808 ---
+int(-9223372036854775799)
+--- testing: 9 | 2147483647 ---
+int(2147483647)
+--- testing: 9 | -2147483648 ---
+int(-2147483639)
+--- testing: 9 | 9223372034707292160 ---
+int(9223372034707292169)
+--- testing: 9 | -9223372034707292160 ---
+int(-9223372034707292151)
+--- testing: 9 | 2147483648 ---
+int(2147483657)
+--- testing: 9 | -2147483649 ---
+int(-2147483649)
+--- testing: 9 | 4294967294 ---
+int(4294967295)
+--- testing: 9 | 4294967295 ---
+int(4294967295)
+--- testing: 9 | 4294967293 ---
+int(4294967293)
+--- testing: 9 | 9223372036854775806 ---
+int(9223372036854775807)
+--- testing: 9 | 9.2233720368548E+18 ---
+int(-9223372036854775799)
+--- testing: 9 | -9223372036854775807 ---
+int(-9223372036854775799)
+--- testing: 9 | -9.2233720368548E+18 ---
+int(-9223372036854775799)
+--- testing: 65 | 9223372036854775807 ---
+int(9223372036854775807)
+--- testing: 65 | -9223372036854775808 ---
+int(-9223372036854775743)
+--- testing: 65 | 2147483647 ---
+int(2147483647)
+--- testing: 65 | -2147483648 ---
+int(-2147483583)
+--- testing: 65 | 9223372034707292160 ---
+int(9223372034707292225)
+--- testing: 65 | -9223372034707292160 ---
+int(-9223372034707292095)
+--- testing: 65 | 2147483648 ---
+int(2147483713)
+--- testing: 65 | -2147483649 ---
+int(-2147483649)
+--- testing: 65 | 4294967294 ---
+int(4294967295)
+--- testing: 65 | 4294967295 ---
+int(4294967295)
+--- testing: 65 | 4294967293 ---
+int(4294967293)
+--- testing: 65 | 9223372036854775806 ---
+int(9223372036854775807)
+--- testing: 65 | 9.2233720368548E+18 ---
+int(-9223372036854775743)
+--- testing: 65 | -9223372036854775807 ---
+int(-9223372036854775743)
+--- testing: 65 | -9.2233720368548E+18 ---
+int(-9223372036854775743)
+--- testing: -44 | 9223372036854775807 ---
+int(-1)
+--- testing: -44 | -9223372036854775808 ---
+int(-44)
+--- testing: -44 | 2147483647 ---
+int(-1)
+--- testing: -44 | -2147483648 ---
+int(-44)
+--- testing: -44 | 9223372034707292160 ---
+int(-44)
+--- testing: -44 | -9223372034707292160 ---
+int(-44)
+--- testing: -44 | 2147483648 ---
+int(-44)
+--- testing: -44 | -2147483649 ---
+int(-1)
+--- testing: -44 | 4294967294 ---
+int(-2)
+--- testing: -44 | 4294967295 ---
+int(-1)
+--- testing: -44 | 4294967293 ---
+int(-3)
+--- testing: -44 | 9223372036854775806 ---
+int(-2)
+--- testing: -44 | 9.2233720368548E+18 ---
+int(-44)
+--- testing: -44 | -9223372036854775807 ---
+int(-43)
+--- testing: -44 | -9.2233720368548E+18 ---
+int(-44)
+--- testing: 2147483647 | 9223372036854775807 ---
+int(9223372036854775807)
+--- testing: 2147483647 | -9223372036854775808 ---
+int(-9223372034707292161)
+--- testing: 2147483647 | 2147483647 ---
+int(2147483647)
+--- testing: 2147483647 | -2147483648 ---
+int(-1)
+--- testing: 2147483647 | 9223372034707292160 ---
+int(9223372036854775807)
+--- testing: 2147483647 | -9223372034707292160 ---
+int(-9223372032559808513)
+--- testing: 2147483647 | 2147483648 ---
+int(4294967295)
+--- testing: 2147483647 | -2147483649 ---
+int(-2147483649)
+--- testing: 2147483647 | 4294967294 ---
+int(4294967295)
+--- testing: 2147483647 | 4294967295 ---
+int(4294967295)
+--- testing: 2147483647 | 4294967293 ---
+int(4294967295)
+--- testing: 2147483647 | 9223372036854775806 ---
+int(9223372036854775807)
+--- testing: 2147483647 | 9.2233720368548E+18 ---
+int(-9223372034707292161)
+--- testing: 2147483647 | -9223372036854775807 ---
+int(-9223372034707292161)
+--- testing: 2147483647 | -9.2233720368548E+18 ---
+int(-9223372034707292161)
+--- testing: 9223372036854775807 | 9223372036854775807 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 | -9223372036854775808 ---
+int(-1)
+--- testing: 9223372036854775807 | 2147483647 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 | -2147483648 ---
+int(-1)
+--- testing: 9223372036854775807 | 9223372034707292160 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 | -9223372034707292160 ---
+int(-1)
+--- testing: 9223372036854775807 | 2147483648 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 | -2147483649 ---
+int(-1)
+--- testing: 9223372036854775807 | 4294967294 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 | 4294967295 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 | 4294967293 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 | 9223372036854775806 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 | 9.2233720368548E+18 ---
+int(-1)
+--- testing: 9223372036854775807 | -9223372036854775807 ---
+int(-1)
+--- testing: 9223372036854775807 | -9.2233720368548E+18 ---
+int(-1)
+===DONE===
+ \ No newline at end of file
diff --git a/tests/lang/operators/bitwiseShiftLeft_basiclong_64bit.phpt b/tests/lang/operators/bitwiseShiftLeft_basiclong_64bit.phpt
new file mode 100644
index 0000000000..24da2d0dc4
--- /dev/null
+++ b/tests/lang/operators/bitwiseShiftLeft_basiclong_64bit.phpt
@@ -0,0 +1,583 @@
+--TEST--
+Test << operator : 64bit long tests
+--SKIPIF--
+<?php
+if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
+?>
+--FILE--
+<?php
+
+define("MAX_64Bit", 9223372036854775807);
+define("MAX_32Bit", 2147483647);
+define("MIN_64Bit", -9223372036854775807 - 1);
+define("MIN_32Bit", -2147483647 - 1);
+
+$longVals = array(
+ MAX_64Bit, MIN_64Bit, MAX_32Bit, MIN_32Bit, MAX_64Bit - MAX_32Bit, MIN_64Bit - MIN_32Bit,
+ MAX_32Bit + 1, MIN_32Bit - 1, MAX_32Bit * 2, (MAX_32Bit * 2) + 1, (MAX_32Bit * 2) - 1,
+ MAX_64Bit -1, MAX_64Bit + 1, MIN_64Bit + 1, MIN_64Bit - 1
+);
+
+$otherVals = array(0, 1, -1, 7, 9, 65, -44, MAX_32Bit, MAX_64Bit);
+
+error_reporting(E_ERROR);
+
+foreach ($longVals as $longVal) {
+ foreach($otherVals as $otherVal) {
+ echo "--- testing: $longVal << $otherVal ---\n";
+ var_dump($longVal<<$otherVal);
+ }
+}
+
+foreach ($otherVals as $otherVal) {
+ foreach($longVals as $longVal) {
+ echo "--- testing: $otherVal << $longVal ---\n";
+ var_dump($otherVal<<$longVal);
+ }
+}
+
+?>
+===DONE===
+--EXPECT--
+--- testing: 9223372036854775807 << 0 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 << 1 ---
+int(-2)
+--- testing: 9223372036854775807 << -1 ---
+int(-9223372036854775808)
+--- testing: 9223372036854775807 << 7 ---
+int(-128)
+--- testing: 9223372036854775807 << 9 ---
+int(-512)
+--- testing: 9223372036854775807 << 65 ---
+int(-2)
+--- testing: 9223372036854775807 << -44 ---
+int(-1048576)
+--- testing: 9223372036854775807 << 2147483647 ---
+int(-9223372036854775808)
+--- testing: 9223372036854775807 << 9223372036854775807 ---
+int(-9223372036854775808)
+--- testing: -9223372036854775808 << 0 ---
+int(-9223372036854775808)
+--- testing: -9223372036854775808 << 1 ---
+int(0)
+--- testing: -9223372036854775808 << -1 ---
+int(0)
+--- testing: -9223372036854775808 << 7 ---
+int(0)
+--- testing: -9223372036854775808 << 9 ---
+int(0)
+--- testing: -9223372036854775808 << 65 ---
+int(0)
+--- testing: -9223372036854775808 << -44 ---
+int(0)
+--- testing: -9223372036854775808 << 2147483647 ---
+int(0)
+--- testing: -9223372036854775808 << 9223372036854775807 ---
+int(0)
+--- testing: 2147483647 << 0 ---
+int(2147483647)
+--- testing: 2147483647 << 1 ---
+int(4294967294)
+--- testing: 2147483647 << -1 ---
+int(-9223372036854775808)
+--- testing: 2147483647 << 7 ---
+int(274877906816)
+--- testing: 2147483647 << 9 ---
+int(1099511627264)
+--- testing: 2147483647 << 65 ---
+int(4294967294)
+--- testing: 2147483647 << -44 ---
+int(2251799812636672)
+--- testing: 2147483647 << 2147483647 ---
+int(-9223372036854775808)
+--- testing: 2147483647 << 9223372036854775807 ---
+int(-9223372036854775808)
+--- testing: -2147483648 << 0 ---
+int(-2147483648)
+--- testing: -2147483648 << 1 ---
+int(-4294967296)
+--- testing: -2147483648 << -1 ---
+int(0)
+--- testing: -2147483648 << 7 ---
+int(-274877906944)
+--- testing: -2147483648 << 9 ---
+int(-1099511627776)
+--- testing: -2147483648 << 65 ---
+int(-4294967296)
+--- testing: -2147483648 << -44 ---
+int(-2251799813685248)
+--- testing: -2147483648 << 2147483647 ---
+int(0)
+--- testing: -2147483648 << 9223372036854775807 ---
+int(0)
+--- testing: 9223372034707292160 << 0 ---
+int(9223372034707292160)
+--- testing: 9223372034707292160 << 1 ---
+int(-4294967296)
+--- testing: 9223372034707292160 << -1 ---
+int(0)
+--- testing: 9223372034707292160 << 7 ---
+int(-274877906944)
+--- testing: 9223372034707292160 << 9 ---
+int(-1099511627776)
+--- testing: 9223372034707292160 << 65 ---
+int(-4294967296)
+--- testing: 9223372034707292160 << -44 ---
+int(-2251799813685248)
+--- testing: 9223372034707292160 << 2147483647 ---
+int(0)
+--- testing: 9223372034707292160 << 9223372036854775807 ---
+int(0)
+--- testing: -9223372034707292160 << 0 ---
+int(-9223372034707292160)
+--- testing: -9223372034707292160 << 1 ---
+int(4294967296)
+--- testing: -9223372034707292160 << -1 ---
+int(0)
+--- testing: -9223372034707292160 << 7 ---
+int(274877906944)
+--- testing: -9223372034707292160 << 9 ---
+int(1099511627776)
+--- testing: -9223372034707292160 << 65 ---
+int(4294967296)
+--- testing: -9223372034707292160 << -44 ---
+int(2251799813685248)
+--- testing: -9223372034707292160 << 2147483647 ---
+int(0)
+--- testing: -9223372034707292160 << 9223372036854775807 ---
+int(0)
+--- testing: 2147483648 << 0 ---
+int(2147483648)
+--- testing: 2147483648 << 1 ---
+int(4294967296)
+--- testing: 2147483648 << -1 ---
+int(0)
+--- testing: 2147483648 << 7 ---
+int(274877906944)
+--- testing: 2147483648 << 9 ---
+int(1099511627776)
+--- testing: 2147483648 << 65 ---
+int(4294967296)
+--- testing: 2147483648 << -44 ---
+int(2251799813685248)
+--- testing: 2147483648 << 2147483647 ---
+int(0)
+--- testing: 2147483648 << 9223372036854775807 ---
+int(0)
+--- testing: -2147483649 << 0 ---
+int(-2147483649)
+--- testing: -2147483649 << 1 ---
+int(-4294967298)
+--- testing: -2147483649 << -1 ---
+int(-9223372036854775808)
+--- testing: -2147483649 << 7 ---
+int(-274877907072)
+--- testing: -2147483649 << 9 ---
+int(-1099511628288)
+--- testing: -2147483649 << 65 ---
+int(-4294967298)
+--- testing: -2147483649 << -44 ---
+int(-2251799814733824)
+--- testing: -2147483649 << 2147483647 ---
+int(-9223372036854775808)
+--- testing: -2147483649 << 9223372036854775807 ---
+int(-9223372036854775808)
+--- testing: 4294967294 << 0 ---
+int(4294967294)
+--- testing: 4294967294 << 1 ---
+int(8589934588)
+--- testing: 4294967294 << -1 ---
+int(0)
+--- testing: 4294967294 << 7 ---
+int(549755813632)
+--- testing: 4294967294 << 9 ---
+int(2199023254528)
+--- testing: 4294967294 << 65 ---
+int(8589934588)
+--- testing: 4294967294 << -44 ---
+int(4503599625273344)
+--- testing: 4294967294 << 2147483647 ---
+int(0)
+--- testing: 4294967294 << 9223372036854775807 ---
+int(0)
+--- testing: 4294967295 << 0 ---
+int(4294967295)
+--- testing: 4294967295 << 1 ---
+int(8589934590)
+--- testing: 4294967295 << -1 ---
+int(-9223372036854775808)
+--- testing: 4294967295 << 7 ---
+int(549755813760)
+--- testing: 4294967295 << 9 ---
+int(2199023255040)
+--- testing: 4294967295 << 65 ---
+int(8589934590)
+--- testing: 4294967295 << -44 ---
+int(4503599626321920)
+--- testing: 4294967295 << 2147483647 ---
+int(-9223372036854775808)
+--- testing: 4294967295 << 9223372036854775807 ---
+int(-9223372036854775808)
+--- testing: 4294967293 << 0 ---
+int(4294967293)
+--- testing: 4294967293 << 1 ---
+int(8589934586)
+--- testing: 4294967293 << -1 ---
+int(-9223372036854775808)
+--- testing: 4294967293 << 7 ---
+int(549755813504)
+--- testing: 4294967293 << 9 ---
+int(2199023254016)
+--- testing: 4294967293 << 65 ---
+int(8589934586)
+--- testing: 4294967293 << -44 ---
+int(4503599624224768)
+--- testing: 4294967293 << 2147483647 ---
+int(-9223372036854775808)
+--- testing: 4294967293 << 9223372036854775807 ---
+int(-9223372036854775808)
+--- testing: 9223372036854775806 << 0 ---
+int(9223372036854775806)
+--- testing: 9223372036854775806 << 1 ---
+int(-4)
+--- testing: 9223372036854775806 << -1 ---
+int(0)
+--- testing: 9223372036854775806 << 7 ---
+int(-256)
+--- testing: 9223372036854775806 << 9 ---
+int(-1024)
+--- testing: 9223372036854775806 << 65 ---
+int(-4)
+--- testing: 9223372036854775806 << -44 ---
+int(-2097152)
+--- testing: 9223372036854775806 << 2147483647 ---
+int(0)
+--- testing: 9223372036854775806 << 9223372036854775807 ---
+int(0)
+--- testing: 9.2233720368548E+18 << 0 ---
+int(-9223372036854775808)
+--- testing: 9.2233720368548E+18 << 1 ---
+int(0)
+--- testing: 9.2233720368548E+18 << -1 ---
+int(0)
+--- testing: 9.2233720368548E+18 << 7 ---
+int(0)
+--- testing: 9.2233720368548E+18 << 9 ---
+int(0)
+--- testing: 9.2233720368548E+18 << 65 ---
+int(0)
+--- testing: 9.2233720368548E+18 << -44 ---
+int(0)
+--- testing: 9.2233720368548E+18 << 2147483647 ---
+int(0)
+--- testing: 9.2233720368548E+18 << 9223372036854775807 ---
+int(0)
+--- testing: -9223372036854775807 << 0 ---
+int(-9223372036854775807)
+--- testing: -9223372036854775807 << 1 ---
+int(2)
+--- testing: -9223372036854775807 << -1 ---
+int(-9223372036854775808)
+--- testing: -9223372036854775807 << 7 ---
+int(128)
+--- testing: -9223372036854775807 << 9 ---
+int(512)
+--- testing: -9223372036854775807 << 65 ---
+int(2)
+--- testing: -9223372036854775807 << -44 ---
+int(1048576)
+--- testing: -9223372036854775807 << 2147483647 ---
+int(-9223372036854775808)
+--- testing: -9223372036854775807 << 9223372036854775807 ---
+int(-9223372036854775808)
+--- testing: -9.2233720368548E+18 << 0 ---
+int(-9223372036854775808)
+--- testing: -9.2233720368548E+18 << 1 ---
+int(0)
+--- testing: -9.2233720368548E+18 << -1 ---
+int(0)
+--- testing: -9.2233720368548E+18 << 7 ---
+int(0)
+--- testing: -9.2233720368548E+18 << 9 ---
+int(0)
+--- testing: -9.2233720368548E+18 << 65 ---
+int(0)
+--- testing: -9.2233720368548E+18 << -44 ---
+int(0)
+--- testing: -9.2233720368548E+18 << 2147483647 ---
+int(0)
+--- testing: -9.2233720368548E+18 << 9223372036854775807 ---
+int(0)
+--- testing: 0 << 9223372036854775807 ---
+int(0)
+--- testing: 0 << -9223372036854775808 ---
+int(0)
+--- testing: 0 << 2147483647 ---
+int(0)
+--- testing: 0 << -2147483648 ---
+int(0)
+--- testing: 0 << 9223372034707292160 ---
+int(0)
+--- testing: 0 << -9223372034707292160 ---
+int(0)
+--- testing: 0 << 2147483648 ---
+int(0)
+--- testing: 0 << -2147483649 ---
+int(0)
+--- testing: 0 << 4294967294 ---
+int(0)
+--- testing: 0 << 4294967295 ---
+int(0)
+--- testing: 0 << 4294967293 ---
+int(0)
+--- testing: 0 << 9223372036854775806 ---
+int(0)
+--- testing: 0 << 9.2233720368548E+18 ---
+int(0)
+--- testing: 0 << -9223372036854775807 ---
+int(0)
+--- testing: 0 << -9.2233720368548E+18 ---
+int(0)
+--- testing: 1 << 9223372036854775807 ---
+int(-9223372036854775808)
+--- testing: 1 << -9223372036854775808 ---
+int(1)
+--- testing: 1 << 2147483647 ---
+int(-9223372036854775808)
+--- testing: 1 << -2147483648 ---
+int(1)
+--- testing: 1 << 9223372034707292160 ---
+int(1)
+--- testing: 1 << -9223372034707292160 ---
+int(1)
+--- testing: 1 << 2147483648 ---
+int(1)
+--- testing: 1 << -2147483649 ---
+int(-9223372036854775808)
+--- testing: 1 << 4294967294 ---
+int(4611686018427387904)
+--- testing: 1 << 4294967295 ---
+int(-9223372036854775808)
+--- testing: 1 << 4294967293 ---
+int(2305843009213693952)
+--- testing: 1 << 9223372036854775806 ---
+int(4611686018427387904)
+--- testing: 1 << 9.2233720368548E+18 ---
+int(1)
+--- testing: 1 << -9223372036854775807 ---
+int(2)
+--- testing: 1 << -9.2233720368548E+18 ---
+int(1)
+--- testing: -1 << 9223372036854775807 ---
+int(-9223372036854775808)
+--- testing: -1 << -9223372036854775808 ---
+int(-1)
+--- testing: -1 << 2147483647 ---
+int(-9223372036854775808)
+--- testing: -1 << -2147483648 ---
+int(-1)
+--- testing: -1 << 9223372034707292160 ---
+int(-1)
+--- testing: -1 << -9223372034707292160 ---
+int(-1)
+--- testing: -1 << 2147483648 ---
+int(-1)
+--- testing: -1 << -2147483649 ---
+int(-9223372036854775808)
+--- testing: -1 << 4294967294 ---
+int(-4611686018427387904)
+--- testing: -1 << 4294967295 ---
+int(-9223372036854775808)
+--- testing: -1 << 4294967293 ---
+int(-2305843009213693952)
+--- testing: -1 << 9223372036854775806 ---
+int(-4611686018427387904)
+--- testing: -1 << 9.2233720368548E+18 ---
+int(-1)
+--- testing: -1 << -9223372036854775807 ---
+int(-2)
+--- testing: -1 << -9.2233720368548E+18 ---
+int(-1)
+--- testing: 7 << 9223372036854775807 ---
+int(-9223372036854775808)
+--- testing: 7 << -9223372036854775808 ---
+int(7)
+--- testing: 7 << 2147483647 ---
+int(-9223372036854775808)
+--- testing: 7 << -2147483648 ---
+int(7)
+--- testing: 7 << 9223372034707292160 ---
+int(7)
+--- testing: 7 << -9223372034707292160 ---
+int(7)
+--- testing: 7 << 2147483648 ---
+int(7)
+--- testing: 7 << -2147483649 ---
+int(-9223372036854775808)
+--- testing: 7 << 4294967294 ---
+int(-4611686018427387904)
+--- testing: 7 << 4294967295 ---
+int(-9223372036854775808)
+--- testing: 7 << 4294967293 ---
+int(-2305843009213693952)
+--- testing: 7 << 9223372036854775806 ---
+int(-4611686018427387904)
+--- testing: 7 << 9.2233720368548E+18 ---
+int(7)
+--- testing: 7 << -9223372036854775807 ---
+int(14)
+--- testing: 7 << -9.2233720368548E+18 ---
+int(7)
+--- testing: 9 << 9223372036854775807 ---
+int(-9223372036854775808)
+--- testing: 9 << -9223372036854775808 ---
+int(9)
+--- testing: 9 << 2147483647 ---
+int(-9223372036854775808)
+--- testing: 9 << -2147483648 ---
+int(9)
+--- testing: 9 << 9223372034707292160 ---
+int(9)
+--- testing: 9 << -9223372034707292160 ---
+int(9)
+--- testing: 9 << 2147483648 ---
+int(9)
+--- testing: 9 << -2147483649 ---
+int(-9223372036854775808)
+--- testing: 9 << 4294967294 ---
+int(4611686018427387904)
+--- testing: 9 << 4294967295 ---
+int(-9223372036854775808)
+--- testing: 9 << 4294967293 ---
+int(2305843009213693952)
+--- testing: 9 << 9223372036854775806 ---
+int(4611686018427387904)
+--- testing: 9 << 9.2233720368548E+18 ---
+int(9)
+--- testing: 9 << -9223372036854775807 ---
+int(18)
+--- testing: 9 << -9.2233720368548E+18 ---
+int(9)
+--- testing: 65 << 9223372036854775807 ---
+int(-9223372036854775808)
+--- testing: 65 << -9223372036854775808 ---
+int(65)
+--- testing: 65 << 2147483647 ---
+int(-9223372036854775808)
+--- testing: 65 << -2147483648 ---
+int(65)
+--- testing: 65 << 9223372034707292160 ---
+int(65)
+--- testing: 65 << -9223372034707292160 ---
+int(65)
+--- testing: 65 << 2147483648 ---
+int(65)
+--- testing: 65 << -2147483649 ---
+int(-9223372036854775808)
+--- testing: 65 << 4294967294 ---
+int(4611686018427387904)
+--- testing: 65 << 4294967295 ---
+int(-9223372036854775808)
+--- testing: 65 << 4294967293 ---
+int(2305843009213693952)
+--- testing: 65 << 9223372036854775806 ---
+int(4611686018427387904)
+--- testing: 65 << 9.2233720368548E+18 ---
+int(65)
+--- testing: 65 << -9223372036854775807 ---
+int(130)
+--- testing: 65 << -9.2233720368548E+18 ---
+int(65)
+--- testing: -44 << 9223372036854775807 ---
+int(0)
+--- testing: -44 << -9223372036854775808 ---
+int(-44)
+--- testing: -44 << 2147483647 ---
+int(0)
+--- testing: -44 << -2147483648 ---
+int(-44)
+--- testing: -44 << 9223372034707292160 ---
+int(-44)
+--- testing: -44 << -9223372034707292160 ---
+int(-44)
+--- testing: -44 << 2147483648 ---
+int(-44)
+--- testing: -44 << -2147483649 ---
+int(0)
+--- testing: -44 << 4294967294 ---
+int(0)
+--- testing: -44 << 4294967295 ---
+int(0)
+--- testing: -44 << 4294967293 ---
+int(-9223372036854775808)
+--- testing: -44 << 9223372036854775806 ---
+int(0)
+--- testing: -44 << 9.2233720368548E+18 ---
+int(-44)
+--- testing: -44 << -9223372036854775807 ---
+int(-88)
+--- testing: -44 << -9.2233720368548E+18 ---
+int(-44)
+--- testing: 2147483647 << 9223372036854775807 ---
+int(-9223372036854775808)
+--- testing: 2147483647 << -9223372036854775808 ---
+int(2147483647)
+--- testing: 2147483647 << 2147483647 ---
+int(-9223372036854775808)
+--- testing: 2147483647 << -2147483648 ---
+int(2147483647)
+--- testing: 2147483647 << 9223372034707292160 ---
+int(2147483647)
+--- testing: 2147483647 << -9223372034707292160 ---
+int(2147483647)
+--- testing: 2147483647 << 2147483648 ---
+int(2147483647)
+--- testing: 2147483647 << -2147483649 ---
+int(-9223372036854775808)
+--- testing: 2147483647 << 4294967294 ---
+int(-4611686018427387904)
+--- testing: 2147483647 << 4294967295 ---
+int(-9223372036854775808)
+--- testing: 2147483647 << 4294967293 ---
+int(-2305843009213693952)
+--- testing: 2147483647 << 9223372036854775806 ---
+int(-4611686018427387904)
+--- testing: 2147483647 << 9.2233720368548E+18 ---
+int(2147483647)
+--- testing: 2147483647 << -9223372036854775807 ---
+int(4294967294)
+--- testing: 2147483647 << -9.2233720368548E+18 ---
+int(2147483647)
+--- testing: 9223372036854775807 << 9223372036854775807 ---
+int(-9223372036854775808)
+--- testing: 9223372036854775807 << -9223372036854775808 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 << 2147483647 ---
+int(-9223372036854775808)
+--- testing: 9223372036854775807 << -2147483648 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 << 9223372034707292160 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 << -9223372034707292160 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 << 2147483648 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 << -2147483649 ---
+int(-9223372036854775808)
+--- testing: 9223372036854775807 << 4294967294 ---
+int(-4611686018427387904)
+--- testing: 9223372036854775807 << 4294967295 ---
+int(-9223372036854775808)
+--- testing: 9223372036854775807 << 4294967293 ---
+int(-2305843009213693952)
+--- testing: 9223372036854775807 << 9223372036854775806 ---
+int(-4611686018427387904)
+--- testing: 9223372036854775807 << 9.2233720368548E+18 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 << -9223372036854775807 ---
+int(-2)
+--- testing: 9223372036854775807 << -9.2233720368548E+18 ---
+int(9223372036854775807)
+===DONE===
+ \ No newline at end of file
diff --git a/tests/lang/operators/bitwiseShiftRight_basiclong_64bit.phpt b/tests/lang/operators/bitwiseShiftRight_basiclong_64bit.phpt
new file mode 100644
index 0000000000..1029d1942a
--- /dev/null
+++ b/tests/lang/operators/bitwiseShiftRight_basiclong_64bit.phpt
@@ -0,0 +1,583 @@
+--TEST--
+Test >> operator : 64bit long tests
+--SKIPIF--
+<?php
+if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
+?>
+--FILE--
+<?php
+
+define("MAX_64Bit", 9223372036854775807);
+define("MAX_32Bit", 2147483647);
+define("MIN_64Bit", -9223372036854775807 - 1);
+define("MIN_32Bit", -2147483647 - 1);
+
+$longVals = array(
+ MAX_64Bit, MIN_64Bit, MAX_32Bit, MIN_32Bit, MAX_64Bit - MAX_32Bit, MIN_64Bit - MIN_32Bit,
+ MAX_32Bit + 1, MIN_32Bit - 1, MAX_32Bit * 2, (MAX_32Bit * 2) + 1, (MAX_32Bit * 2) - 1,
+ MAX_64Bit -1, MAX_64Bit + 1, MIN_64Bit + 1, MIN_64Bit - 1
+);
+
+$otherVals = array(0, 1, -1, 7, 9, 65, -44, MAX_32Bit, MAX_64Bit);
+
+error_reporting(E_ERROR);
+
+foreach ($longVals as $longVal) {
+ foreach($otherVals as $otherVal) {
+ echo "--- testing: $longVal >> $otherVal ---\n";
+ var_dump($longVal>>$otherVal);
+ }
+}
+
+foreach ($otherVals as $otherVal) {
+ foreach($longVals as $longVal) {
+ echo "--- testing: $otherVal >> $longVal ---\n";
+ var_dump($otherVal>>$longVal);
+ }
+}
+
+?>
+===DONE===
+--EXPECT--
+--- testing: 9223372036854775807 >> 0 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 >> 1 ---
+int(4611686018427387903)
+--- testing: 9223372036854775807 >> -1 ---
+int(0)
+--- testing: 9223372036854775807 >> 7 ---
+int(72057594037927935)
+--- testing: 9223372036854775807 >> 9 ---
+int(18014398509481983)
+--- testing: 9223372036854775807 >> 65 ---
+int(4611686018427387903)
+--- testing: 9223372036854775807 >> -44 ---
+int(8796093022207)
+--- testing: 9223372036854775807 >> 2147483647 ---
+int(0)
+--- testing: 9223372036854775807 >> 9223372036854775807 ---
+int(0)
+--- testing: -9223372036854775808 >> 0 ---
+int(-9223372036854775808)
+--- testing: -9223372036854775808 >> 1 ---
+int(-4611686018427387904)
+--- testing: -9223372036854775808 >> -1 ---
+int(-1)
+--- testing: -9223372036854775808 >> 7 ---
+int(-72057594037927936)
+--- testing: -9223372036854775808 >> 9 ---
+int(-18014398509481984)
+--- testing: -9223372036854775808 >> 65 ---
+int(-4611686018427387904)
+--- testing: -9223372036854775808 >> -44 ---
+int(-8796093022208)
+--- testing: -9223372036854775808 >> 2147483647 ---
+int(-1)
+--- testing: -9223372036854775808 >> 9223372036854775807 ---
+int(-1)
+--- testing: 2147483647 >> 0 ---
+int(2147483647)
+--- testing: 2147483647 >> 1 ---
+int(1073741823)
+--- testing: 2147483647 >> -1 ---
+int(0)
+--- testing: 2147483647 >> 7 ---
+int(16777215)
+--- testing: 2147483647 >> 9 ---
+int(4194303)
+--- testing: 2147483647 >> 65 ---
+int(1073741823)
+--- testing: 2147483647 >> -44 ---
+int(2047)
+--- testing: 2147483647 >> 2147483647 ---
+int(0)
+--- testing: 2147483647 >> 9223372036854775807 ---
+int(0)
+--- testing: -2147483648 >> 0 ---
+int(-2147483648)
+--- testing: -2147483648 >> 1 ---
+int(-1073741824)
+--- testing: -2147483648 >> -1 ---
+int(-1)
+--- testing: -2147483648 >> 7 ---
+int(-16777216)
+--- testing: -2147483648 >> 9 ---
+int(-4194304)
+--- testing: -2147483648 >> 65 ---
+int(-1073741824)
+--- testing: -2147483648 >> -44 ---
+int(-2048)
+--- testing: -2147483648 >> 2147483647 ---
+int(-1)
+--- testing: -2147483648 >> 9223372036854775807 ---
+int(-1)
+--- testing: 9223372034707292160 >> 0 ---
+int(9223372034707292160)
+--- testing: 9223372034707292160 >> 1 ---
+int(4611686017353646080)
+--- testing: 9223372034707292160 >> -1 ---
+int(0)
+--- testing: 9223372034707292160 >> 7 ---
+int(72057594021150720)
+--- testing: 9223372034707292160 >> 9 ---
+int(18014398505287680)
+--- testing: 9223372034707292160 >> 65 ---
+int(4611686017353646080)
+--- testing: 9223372034707292160 >> -44 ---
+int(8796093020160)
+--- testing: 9223372034707292160 >> 2147483647 ---
+int(0)
+--- testing: 9223372034707292160 >> 9223372036854775807 ---
+int(0)
+--- testing: -9223372034707292160 >> 0 ---
+int(-9223372034707292160)
+--- testing: -9223372034707292160 >> 1 ---
+int(-4611686017353646080)
+--- testing: -9223372034707292160 >> -1 ---
+int(-1)
+--- testing: -9223372034707292160 >> 7 ---
+int(-72057594021150720)
+--- testing: -9223372034707292160 >> 9 ---
+int(-18014398505287680)
+--- testing: -9223372034707292160 >> 65 ---
+int(-4611686017353646080)
+--- testing: -9223372034707292160 >> -44 ---
+int(-8796093020160)
+--- testing: -9223372034707292160 >> 2147483647 ---
+int(-1)
+--- testing: -9223372034707292160 >> 9223372036854775807 ---
+int(-1)
+--- testing: 2147483648 >> 0 ---
+int(2147483648)
+--- testing: 2147483648 >> 1 ---
+int(1073741824)
+--- testing: 2147483648 >> -1 ---
+int(0)
+--- testing: 2147483648 >> 7 ---
+int(16777216)
+--- testing: 2147483648 >> 9 ---
+int(4194304)
+--- testing: 2147483648 >> 65 ---
+int(1073741824)
+--- testing: 2147483648 >> -44 ---
+int(2048)
+--- testing: 2147483648 >> 2147483647 ---
+int(0)
+--- testing: 2147483648 >> 9223372036854775807 ---
+int(0)
+--- testing: -2147483649 >> 0 ---
+int(-2147483649)
+--- testing: -2147483649 >> 1 ---
+int(-1073741825)
+--- testing: -2147483649 >> -1 ---
+int(-1)
+--- testing: -2147483649 >> 7 ---
+int(-16777217)
+--- testing: -2147483649 >> 9 ---
+int(-4194305)
+--- testing: -2147483649 >> 65 ---
+int(-1073741825)
+--- testing: -2147483649 >> -44 ---
+int(-2049)
+--- testing: -2147483649 >> 2147483647 ---
+int(-1)
+--- testing: -2147483649 >> 9223372036854775807 ---
+int(-1)
+--- testing: 4294967294 >> 0 ---
+int(4294967294)
+--- testing: 4294967294 >> 1 ---
+int(2147483647)
+--- testing: 4294967294 >> -1 ---
+int(0)
+--- testing: 4294967294 >> 7 ---
+int(33554431)
+--- testing: 4294967294 >> 9 ---
+int(8388607)
+--- testing: 4294967294 >> 65 ---
+int(2147483647)
+--- testing: 4294967294 >> -44 ---
+int(4095)
+--- testing: 4294967294 >> 2147483647 ---
+int(0)
+--- testing: 4294967294 >> 9223372036854775807 ---
+int(0)
+--- testing: 4294967295 >> 0 ---
+int(4294967295)
+--- testing: 4294967295 >> 1 ---
+int(2147483647)
+--- testing: 4294967295 >> -1 ---
+int(0)
+--- testing: 4294967295 >> 7 ---
+int(33554431)
+--- testing: 4294967295 >> 9 ---
+int(8388607)
+--- testing: 4294967295 >> 65 ---
+int(2147483647)
+--- testing: 4294967295 >> -44 ---
+int(4095)
+--- testing: 4294967295 >> 2147483647 ---
+int(0)
+--- testing: 4294967295 >> 9223372036854775807 ---
+int(0)
+--- testing: 4294967293 >> 0 ---
+int(4294967293)
+--- testing: 4294967293 >> 1 ---
+int(2147483646)
+--- testing: 4294967293 >> -1 ---
+int(0)
+--- testing: 4294967293 >> 7 ---
+int(33554431)
+--- testing: 4294967293 >> 9 ---
+int(8388607)
+--- testing: 4294967293 >> 65 ---
+int(2147483646)
+--- testing: 4294967293 >> -44 ---
+int(4095)
+--- testing: 4294967293 >> 2147483647 ---
+int(0)
+--- testing: 4294967293 >> 9223372036854775807 ---
+int(0)
+--- testing: 9223372036854775806 >> 0 ---
+int(9223372036854775806)
+--- testing: 9223372036854775806 >> 1 ---
+int(4611686018427387903)
+--- testing: 9223372036854775806 >> -1 ---
+int(0)
+--- testing: 9223372036854775806 >> 7 ---
+int(72057594037927935)
+--- testing: 9223372036854775806 >> 9 ---
+int(18014398509481983)
+--- testing: 9223372036854775806 >> 65 ---
+int(4611686018427387903)
+--- testing: 9223372036854775806 >> -44 ---
+int(8796093022207)
+--- testing: 9223372036854775806 >> 2147483647 ---
+int(0)
+--- testing: 9223372036854775806 >> 9223372036854775807 ---
+int(0)
+--- testing: 9.2233720368548E+18 >> 0 ---
+int(-9223372036854775808)
+--- testing: 9.2233720368548E+18 >> 1 ---
+int(-4611686018427387904)
+--- testing: 9.2233720368548E+18 >> -1 ---
+int(-1)
+--- testing: 9.2233720368548E+18 >> 7 ---
+int(-72057594037927936)
+--- testing: 9.2233720368548E+18 >> 9 ---
+int(-18014398509481984)
+--- testing: 9.2233720368548E+18 >> 65 ---
+int(-4611686018427387904)
+--- testing: 9.2233720368548E+18 >> -44 ---
+int(-8796093022208)
+--- testing: 9.2233720368548E+18 >> 2147483647 ---
+int(-1)
+--- testing: 9.2233720368548E+18 >> 9223372036854775807 ---
+int(-1)
+--- testing: -9223372036854775807 >> 0 ---
+int(-9223372036854775807)
+--- testing: -9223372036854775807 >> 1 ---
+int(-4611686018427387904)
+--- testing: -9223372036854775807 >> -1 ---
+int(-1)
+--- testing: -9223372036854775807 >> 7 ---
+int(-72057594037927936)
+--- testing: -9223372036854775807 >> 9 ---
+int(-18014398509481984)
+--- testing: -9223372036854775807 >> 65 ---
+int(-4611686018427387904)
+--- testing: -9223372036854775807 >> -44 ---
+int(-8796093022208)
+--- testing: -9223372036854775807 >> 2147483647 ---
+int(-1)
+--- testing: -9223372036854775807 >> 9223372036854775807 ---
+int(-1)
+--- testing: -9.2233720368548E+18 >> 0 ---
+int(-9223372036854775808)
+--- testing: -9.2233720368548E+18 >> 1 ---
+int(-4611686018427387904)
+--- testing: -9.2233720368548E+18 >> -1 ---
+int(-1)
+--- testing: -9.2233720368548E+18 >> 7 ---
+int(-72057594037927936)
+--- testing: -9.2233720368548E+18 >> 9 ---
+int(-18014398509481984)
+--- testing: -9.2233720368548E+18 >> 65 ---
+int(-4611686018427387904)
+--- testing: -9.2233720368548E+18 >> -44 ---
+int(-8796093022208)
+--- testing: -9.2233720368548E+18 >> 2147483647 ---
+int(-1)
+--- testing: -9.2233720368548E+18 >> 9223372036854775807 ---
+int(-1)
+--- testing: 0 >> 9223372036854775807 ---
+int(0)
+--- testing: 0 >> -9223372036854775808 ---
+int(0)
+--- testing: 0 >> 2147483647 ---
+int(0)
+--- testing: 0 >> -2147483648 ---
+int(0)
+--- testing: 0 >> 9223372034707292160 ---
+int(0)
+--- testing: 0 >> -9223372034707292160 ---
+int(0)
+--- testing: 0 >> 2147483648 ---
+int(0)
+--- testing: 0 >> -2147483649 ---
+int(0)
+--- testing: 0 >> 4294967294 ---
+int(0)
+--- testing: 0 >> 4294967295 ---
+int(0)
+--- testing: 0 >> 4294967293 ---
+int(0)
+--- testing: 0 >> 9223372036854775806 ---
+int(0)
+--- testing: 0 >> 9.2233720368548E+18 ---
+int(0)
+--- testing: 0 >> -9223372036854775807 ---
+int(0)
+--- testing: 0 >> -9.2233720368548E+18 ---
+int(0)
+--- testing: 1 >> 9223372036854775807 ---
+int(0)
+--- testing: 1 >> -9223372036854775808 ---
+int(1)
+--- testing: 1 >> 2147483647 ---
+int(0)
+--- testing: 1 >> -2147483648 ---
+int(1)
+--- testing: 1 >> 9223372034707292160 ---
+int(1)
+--- testing: 1 >> -9223372034707292160 ---
+int(1)
+--- testing: 1 >> 2147483648 ---
+int(1)
+--- testing: 1 >> -2147483649 ---
+int(0)
+--- testing: 1 >> 4294967294 ---
+int(0)
+--- testing: 1 >> 4294967295 ---
+int(0)
+--- testing: 1 >> 4294967293 ---
+int(0)
+--- testing: 1 >> 9223372036854775806 ---
+int(0)
+--- testing: 1 >> 9.2233720368548E+18 ---
+int(1)
+--- testing: 1 >> -9223372036854775807 ---
+int(0)
+--- testing: 1 >> -9.2233720368548E+18 ---
+int(1)
+--- testing: -1 >> 9223372036854775807 ---
+int(-1)
+--- testing: -1 >> -9223372036854775808 ---
+int(-1)
+--- testing: -1 >> 2147483647 ---
+int(-1)
+--- testing: -1 >> -2147483648 ---
+int(-1)
+--- testing: -1 >> 9223372034707292160 ---
+int(-1)
+--- testing: -1 >> -9223372034707292160 ---
+int(-1)
+--- testing: -1 >> 2147483648 ---
+int(-1)
+--- testing: -1 >> -2147483649 ---
+int(-1)
+--- testing: -1 >> 4294967294 ---
+int(-1)
+--- testing: -1 >> 4294967295 ---
+int(-1)
+--- testing: -1 >> 4294967293 ---
+int(-1)
+--- testing: -1 >> 9223372036854775806 ---
+int(-1)
+--- testing: -1 >> 9.2233720368548E+18 ---
+int(-1)
+--- testing: -1 >> -9223372036854775807 ---
+int(-1)
+--- testing: -1 >> -9.2233720368548E+18 ---
+int(-1)
+--- testing: 7 >> 9223372036854775807 ---
+int(0)
+--- testing: 7 >> -9223372036854775808 ---
+int(7)
+--- testing: 7 >> 2147483647 ---
+int(0)
+--- testing: 7 >> -2147483648 ---
+int(7)
+--- testing: 7 >> 9223372034707292160 ---
+int(7)
+--- testing: 7 >> -9223372034707292160 ---
+int(7)
+--- testing: 7 >> 2147483648 ---
+int(7)
+--- testing: 7 >> -2147483649 ---
+int(0)
+--- testing: 7 >> 4294967294 ---
+int(0)
+--- testing: 7 >> 4294967295 ---
+int(0)
+--- testing: 7 >> 4294967293 ---
+int(0)
+--- testing: 7 >> 9223372036854775806 ---
+int(0)
+--- testing: 7 >> 9.2233720368548E+18 ---
+int(7)
+--- testing: 7 >> -9223372036854775807 ---
+int(3)
+--- testing: 7 >> -9.2233720368548E+18 ---
+int(7)
+--- testing: 9 >> 9223372036854775807 ---
+int(0)
+--- testing: 9 >> -9223372036854775808 ---
+int(9)
+--- testing: 9 >> 2147483647 ---
+int(0)
+--- testing: 9 >> -2147483648 ---
+int(9)
+--- testing: 9 >> 9223372034707292160 ---
+int(9)
+--- testing: 9 >> -9223372034707292160 ---
+int(9)
+--- testing: 9 >> 2147483648 ---
+int(9)
+--- testing: 9 >> -2147483649 ---
+int(0)
+--- testing: 9 >> 4294967294 ---
+int(0)
+--- testing: 9 >> 4294967295 ---
+int(0)
+--- testing: 9 >> 4294967293 ---
+int(0)
+--- testing: 9 >> 9223372036854775806 ---
+int(0)
+--- testing: 9 >> 9.2233720368548E+18 ---
+int(9)
+--- testing: 9 >> -9223372036854775807 ---
+int(4)
+--- testing: 9 >> -9.2233720368548E+18 ---
+int(9)
+--- testing: 65 >> 9223372036854775807 ---
+int(0)
+--- testing: 65 >> -9223372036854775808 ---
+int(65)
+--- testing: 65 >> 2147483647 ---
+int(0)
+--- testing: 65 >> -2147483648 ---
+int(65)
+--- testing: 65 >> 9223372034707292160 ---
+int(65)
+--- testing: 65 >> -9223372034707292160 ---
+int(65)
+--- testing: 65 >> 2147483648 ---
+int(65)
+--- testing: 65 >> -2147483649 ---
+int(0)
+--- testing: 65 >> 4294967294 ---
+int(0)
+--- testing: 65 >> 4294967295 ---
+int(0)
+--- testing: 65 >> 4294967293 ---
+int(0)
+--- testing: 65 >> 9223372036854775806 ---
+int(0)
+--- testing: 65 >> 9.2233720368548E+18 ---
+int(65)
+--- testing: 65 >> -9223372036854775807 ---
+int(32)
+--- testing: 65 >> -9.2233720368548E+18 ---
+int(65)
+--- testing: -44 >> 9223372036854775807 ---
+int(-1)
+--- testing: -44 >> -9223372036854775808 ---
+int(-44)
+--- testing: -44 >> 2147483647 ---
+int(-1)
+--- testing: -44 >> -2147483648 ---
+int(-44)
+--- testing: -44 >> 9223372034707292160 ---
+int(-44)
+--- testing: -44 >> -9223372034707292160 ---
+int(-44)
+--- testing: -44 >> 2147483648 ---
+int(-44)
+--- testing: -44 >> -2147483649 ---
+int(-1)
+--- testing: -44 >> 4294967294 ---
+int(-1)
+--- testing: -44 >> 4294967295 ---
+int(-1)
+--- testing: -44 >> 4294967293 ---
+int(-1)
+--- testing: -44 >> 9223372036854775806 ---
+int(-1)
+--- testing: -44 >> 9.2233720368548E+18 ---
+int(-44)
+--- testing: -44 >> -9223372036854775807 ---
+int(-22)
+--- testing: -44 >> -9.2233720368548E+18 ---
+int(-44)
+--- testing: 2147483647 >> 9223372036854775807 ---
+int(0)
+--- testing: 2147483647 >> -9223372036854775808 ---
+int(2147483647)
+--- testing: 2147483647 >> 2147483647 ---
+int(0)
+--- testing: 2147483647 >> -2147483648 ---
+int(2147483647)
+--- testing: 2147483647 >> 9223372034707292160 ---
+int(2147483647)
+--- testing: 2147483647 >> -9223372034707292160 ---
+int(2147483647)
+--- testing: 2147483647 >> 2147483648 ---
+int(2147483647)
+--- testing: 2147483647 >> -2147483649 ---
+int(0)
+--- testing: 2147483647 >> 4294967294 ---
+int(0)
+--- testing: 2147483647 >> 4294967295 ---
+int(0)
+--- testing: 2147483647 >> 4294967293 ---
+int(0)
+--- testing: 2147483647 >> 9223372036854775806 ---
+int(0)
+--- testing: 2147483647 >> 9.2233720368548E+18 ---
+int(2147483647)
+--- testing: 2147483647 >> -9223372036854775807 ---
+int(1073741823)
+--- testing: 2147483647 >> -9.2233720368548E+18 ---
+int(2147483647)
+--- testing: 9223372036854775807 >> 9223372036854775807 ---
+int(0)
+--- testing: 9223372036854775807 >> -9223372036854775808 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 >> 2147483647 ---
+int(0)
+--- testing: 9223372036854775807 >> -2147483648 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 >> 9223372034707292160 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 >> -9223372034707292160 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 >> 2147483648 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 >> -2147483649 ---
+int(0)
+--- testing: 9223372036854775807 >> 4294967294 ---
+int(1)
+--- testing: 9223372036854775807 >> 4294967295 ---
+int(0)
+--- testing: 9223372036854775807 >> 4294967293 ---
+int(3)
+--- testing: 9223372036854775807 >> 9223372036854775806 ---
+int(1)
+--- testing: 9223372036854775807 >> 9.2233720368548E+18 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 >> -9223372036854775807 ---
+int(4611686018427387903)
+--- testing: 9223372036854775807 >> -9.2233720368548E+18 ---
+int(9223372036854775807)
+===DONE===
+ \ No newline at end of file
diff --git a/tests/lang/operators/bitwiseXor_basiclong_64bit.phpt b/tests/lang/operators/bitwiseXor_basiclong_64bit.phpt
new file mode 100644
index 0000000000..2764be6553
--- /dev/null
+++ b/tests/lang/operators/bitwiseXor_basiclong_64bit.phpt
@@ -0,0 +1,583 @@
+--TEST--
+Test ^ operator : 64bit long tests
+--SKIPIF--
+<?php
+if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
+?>
+--FILE--
+<?php
+
+define("MAX_64Bit", 9223372036854775807);
+define("MAX_32Bit", 2147483647);
+define("MIN_64Bit", -9223372036854775807 - 1);
+define("MIN_32Bit", -2147483647 - 1);
+
+$longVals = array(
+ MAX_64Bit, MIN_64Bit, MAX_32Bit, MIN_32Bit, MAX_64Bit - MAX_32Bit, MIN_64Bit - MIN_32Bit,
+ MAX_32Bit + 1, MIN_32Bit - 1, MAX_32Bit * 2, (MAX_32Bit * 2) + 1, (MAX_32Bit * 2) - 1,
+ MAX_64Bit -1, MAX_64Bit + 1, MIN_64Bit + 1, MIN_64Bit - 1
+);
+
+$otherVals = array(0, 1, -1, 7, 9, 65, -44, MAX_32Bit, MAX_64Bit);
+
+error_reporting(E_ERROR);
+
+foreach ($longVals as $longVal) {
+ foreach($otherVals as $otherVal) {
+ echo "--- testing: $longVal ^ $otherVal ---\n";
+ var_dump($longVal^$otherVal);
+ }
+}
+
+foreach ($otherVals as $otherVal) {
+ foreach($longVals as $longVal) {
+ echo "--- testing: $otherVal ^ $longVal ---\n";
+ var_dump($otherVal^$longVal);
+ }
+}
+
+?>
+===DONE===
+--EXPECT--
+--- testing: 9223372036854775807 ^ 0 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 ^ 1 ---
+int(9223372036854775806)
+--- testing: 9223372036854775807 ^ -1 ---
+int(-9223372036854775808)
+--- testing: 9223372036854775807 ^ 7 ---
+int(9223372036854775800)
+--- testing: 9223372036854775807 ^ 9 ---
+int(9223372036854775798)
+--- testing: 9223372036854775807 ^ 65 ---
+int(9223372036854775742)
+--- testing: 9223372036854775807 ^ -44 ---
+int(-9223372036854775765)
+--- testing: 9223372036854775807 ^ 2147483647 ---
+int(9223372034707292160)
+--- testing: 9223372036854775807 ^ 9223372036854775807 ---
+int(0)
+--- testing: -9223372036854775808 ^ 0 ---
+int(-9223372036854775808)
+--- testing: -9223372036854775808 ^ 1 ---
+int(-9223372036854775807)
+--- testing: -9223372036854775808 ^ -1 ---
+int(9223372036854775807)
+--- testing: -9223372036854775808 ^ 7 ---
+int(-9223372036854775801)
+--- testing: -9223372036854775808 ^ 9 ---
+int(-9223372036854775799)
+--- testing: -9223372036854775808 ^ 65 ---
+int(-9223372036854775743)
+--- testing: -9223372036854775808 ^ -44 ---
+int(9223372036854775764)
+--- testing: -9223372036854775808 ^ 2147483647 ---
+int(-9223372034707292161)
+--- testing: -9223372036854775808 ^ 9223372036854775807 ---
+int(-1)
+--- testing: 2147483647 ^ 0 ---
+int(2147483647)
+--- testing: 2147483647 ^ 1 ---
+int(2147483646)
+--- testing: 2147483647 ^ -1 ---
+int(-2147483648)
+--- testing: 2147483647 ^ 7 ---
+int(2147483640)
+--- testing: 2147483647 ^ 9 ---
+int(2147483638)
+--- testing: 2147483647 ^ 65 ---
+int(2147483582)
+--- testing: 2147483647 ^ -44 ---
+int(-2147483605)
+--- testing: 2147483647 ^ 2147483647 ---
+int(0)
+--- testing: 2147483647 ^ 9223372036854775807 ---
+int(9223372034707292160)
+--- testing: -2147483648 ^ 0 ---
+int(-2147483648)
+--- testing: -2147483648 ^ 1 ---
+int(-2147483647)
+--- testing: -2147483648 ^ -1 ---
+int(2147483647)
+--- testing: -2147483648 ^ 7 ---
+int(-2147483641)
+--- testing: -2147483648 ^ 9 ---
+int(-2147483639)
+--- testing: -2147483648 ^ 65 ---
+int(-2147483583)
+--- testing: -2147483648 ^ -44 ---
+int(2147483604)
+--- testing: -2147483648 ^ 2147483647 ---
+int(-1)
+--- testing: -2147483648 ^ 9223372036854775807 ---
+int(-9223372034707292161)
+--- testing: 9223372034707292160 ^ 0 ---
+int(9223372034707292160)
+--- testing: 9223372034707292160 ^ 1 ---
+int(9223372034707292161)
+--- testing: 9223372034707292160 ^ -1 ---
+int(-9223372034707292161)
+--- testing: 9223372034707292160 ^ 7 ---
+int(9223372034707292167)
+--- testing: 9223372034707292160 ^ 9 ---
+int(9223372034707292169)
+--- testing: 9223372034707292160 ^ 65 ---
+int(9223372034707292225)
+--- testing: 9223372034707292160 ^ -44 ---
+int(-9223372034707292204)
+--- testing: 9223372034707292160 ^ 2147483647 ---
+int(9223372036854775807)
+--- testing: 9223372034707292160 ^ 9223372036854775807 ---
+int(2147483647)
+--- testing: -9223372034707292160 ^ 0 ---
+int(-9223372034707292160)
+--- testing: -9223372034707292160 ^ 1 ---
+int(-9223372034707292159)
+--- testing: -9223372034707292160 ^ -1 ---
+int(9223372034707292159)
+--- testing: -9223372034707292160 ^ 7 ---
+int(-9223372034707292153)
+--- testing: -9223372034707292160 ^ 9 ---
+int(-9223372034707292151)
+--- testing: -9223372034707292160 ^ 65 ---
+int(-9223372034707292095)
+--- testing: -9223372034707292160 ^ -44 ---
+int(9223372034707292116)
+--- testing: -9223372034707292160 ^ 2147483647 ---
+int(-9223372032559808513)
+--- testing: -9223372034707292160 ^ 9223372036854775807 ---
+int(-2147483649)
+--- testing: 2147483648 ^ 0 ---
+int(2147483648)
+--- testing: 2147483648 ^ 1 ---
+int(2147483649)
+--- testing: 2147483648 ^ -1 ---
+int(-2147483649)
+--- testing: 2147483648 ^ 7 ---
+int(2147483655)
+--- testing: 2147483648 ^ 9 ---
+int(2147483657)
+--- testing: 2147483648 ^ 65 ---
+int(2147483713)
+--- testing: 2147483648 ^ -44 ---
+int(-2147483692)
+--- testing: 2147483648 ^ 2147483647 ---
+int(4294967295)
+--- testing: 2147483648 ^ 9223372036854775807 ---
+int(9223372034707292159)
+--- testing: -2147483649 ^ 0 ---
+int(-2147483649)
+--- testing: -2147483649 ^ 1 ---
+int(-2147483650)
+--- testing: -2147483649 ^ -1 ---
+int(2147483648)
+--- testing: -2147483649 ^ 7 ---
+int(-2147483656)
+--- testing: -2147483649 ^ 9 ---
+int(-2147483658)
+--- testing: -2147483649 ^ 65 ---
+int(-2147483714)
+--- testing: -2147483649 ^ -44 ---
+int(2147483691)
+--- testing: -2147483649 ^ 2147483647 ---
+int(-4294967296)
+--- testing: -2147483649 ^ 9223372036854775807 ---
+int(-9223372034707292160)
+--- testing: 4294967294 ^ 0 ---
+int(4294967294)
+--- testing: 4294967294 ^ 1 ---
+int(4294967295)
+--- testing: 4294967294 ^ -1 ---
+int(-4294967295)
+--- testing: 4294967294 ^ 7 ---
+int(4294967289)
+--- testing: 4294967294 ^ 9 ---
+int(4294967287)
+--- testing: 4294967294 ^ 65 ---
+int(4294967231)
+--- testing: 4294967294 ^ -44 ---
+int(-4294967254)
+--- testing: 4294967294 ^ 2147483647 ---
+int(2147483649)
+--- testing: 4294967294 ^ 9223372036854775807 ---
+int(9223372032559808513)
+--- testing: 4294967295 ^ 0 ---
+int(4294967295)
+--- testing: 4294967295 ^ 1 ---
+int(4294967294)
+--- testing: 4294967295 ^ -1 ---
+int(-4294967296)
+--- testing: 4294967295 ^ 7 ---
+int(4294967288)
+--- testing: 4294967295 ^ 9 ---
+int(4294967286)
+--- testing: 4294967295 ^ 65 ---
+int(4294967230)
+--- testing: 4294967295 ^ -44 ---
+int(-4294967253)
+--- testing: 4294967295 ^ 2147483647 ---
+int(2147483648)
+--- testing: 4294967295 ^ 9223372036854775807 ---
+int(9223372032559808512)
+--- testing: 4294967293 ^ 0 ---
+int(4294967293)
+--- testing: 4294967293 ^ 1 ---
+int(4294967292)
+--- testing: 4294967293 ^ -1 ---
+int(-4294967294)
+--- testing: 4294967293 ^ 7 ---
+int(4294967290)
+--- testing: 4294967293 ^ 9 ---
+int(4294967284)
+--- testing: 4294967293 ^ 65 ---
+int(4294967228)
+--- testing: 4294967293 ^ -44 ---
+int(-4294967255)
+--- testing: 4294967293 ^ 2147483647 ---
+int(2147483650)
+--- testing: 4294967293 ^ 9223372036854775807 ---
+int(9223372032559808514)
+--- testing: 9223372036854775806 ^ 0 ---
+int(9223372036854775806)
+--- testing: 9223372036854775806 ^ 1 ---
+int(9223372036854775807)
+--- testing: 9223372036854775806 ^ -1 ---
+int(-9223372036854775807)
+--- testing: 9223372036854775806 ^ 7 ---
+int(9223372036854775801)
+--- testing: 9223372036854775806 ^ 9 ---
+int(9223372036854775799)
+--- testing: 9223372036854775806 ^ 65 ---
+int(9223372036854775743)
+--- testing: 9223372036854775806 ^ -44 ---
+int(-9223372036854775766)
+--- testing: 9223372036854775806 ^ 2147483647 ---
+int(9223372034707292161)
+--- testing: 9223372036854775806 ^ 9223372036854775807 ---
+int(1)
+--- testing: 9.2233720368548E+18 ^ 0 ---
+int(-9223372036854775808)
+--- testing: 9.2233720368548E+18 ^ 1 ---
+int(-9223372036854775807)
+--- testing: 9.2233720368548E+18 ^ -1 ---
+int(9223372036854775807)
+--- testing: 9.2233720368548E+18 ^ 7 ---
+int(-9223372036854775801)
+--- testing: 9.2233720368548E+18 ^ 9 ---
+int(-9223372036854775799)
+--- testing: 9.2233720368548E+18 ^ 65 ---
+int(-9223372036854775743)
+--- testing: 9.2233720368548E+18 ^ -44 ---
+int(9223372036854775764)
+--- testing: 9.2233720368548E+18 ^ 2147483647 ---
+int(-9223372034707292161)
+--- testing: 9.2233720368548E+18 ^ 9223372036854775807 ---
+int(-1)
+--- testing: -9223372036854775807 ^ 0 ---
+int(-9223372036854775807)
+--- testing: -9223372036854775807 ^ 1 ---
+int(-9223372036854775808)
+--- testing: -9223372036854775807 ^ -1 ---
+int(9223372036854775806)
+--- testing: -9223372036854775807 ^ 7 ---
+int(-9223372036854775802)
+--- testing: -9223372036854775807 ^ 9 ---
+int(-9223372036854775800)
+--- testing: -9223372036854775807 ^ 65 ---
+int(-9223372036854775744)
+--- testing: -9223372036854775807 ^ -44 ---
+int(9223372036854775765)
+--- testing: -9223372036854775807 ^ 2147483647 ---
+int(-9223372034707292162)
+--- testing: -9223372036854775807 ^ 9223372036854775807 ---
+int(-2)
+--- testing: -9.2233720368548E+18 ^ 0 ---
+int(-9223372036854775808)
+--- testing: -9.2233720368548E+18 ^ 1 ---
+int(-9223372036854775807)
+--- testing: -9.2233720368548E+18 ^ -1 ---
+int(9223372036854775807)
+--- testing: -9.2233720368548E+18 ^ 7 ---
+int(-9223372036854775801)
+--- testing: -9.2233720368548E+18 ^ 9 ---
+int(-9223372036854775799)
+--- testing: -9.2233720368548E+18 ^ 65 ---
+int(-9223372036854775743)
+--- testing: -9.2233720368548E+18 ^ -44 ---
+int(9223372036854775764)
+--- testing: -9.2233720368548E+18 ^ 2147483647 ---
+int(-9223372034707292161)
+--- testing: -9.2233720368548E+18 ^ 9223372036854775807 ---
+int(-1)
+--- testing: 0 ^ 9223372036854775807 ---
+int(9223372036854775807)
+--- testing: 0 ^ -9223372036854775808 ---
+int(-9223372036854775808)
+--- testing: 0 ^ 2147483647 ---
+int(2147483647)
+--- testing: 0 ^ -2147483648 ---
+int(-2147483648)
+--- testing: 0 ^ 9223372034707292160 ---
+int(9223372034707292160)
+--- testing: 0 ^ -9223372034707292160 ---
+int(-9223372034707292160)
+--- testing: 0 ^ 2147483648 ---
+int(2147483648)
+--- testing: 0 ^ -2147483649 ---
+int(-2147483649)
+--- testing: 0 ^ 4294967294 ---
+int(4294967294)
+--- testing: 0 ^ 4294967295 ---
+int(4294967295)
+--- testing: 0 ^ 4294967293 ---
+int(4294967293)
+--- testing: 0 ^ 9223372036854775806 ---
+int(9223372036854775806)
+--- testing: 0 ^ 9.2233720368548E+18 ---
+int(-9223372036854775808)
+--- testing: 0 ^ -9223372036854775807 ---
+int(-9223372036854775807)
+--- testing: 0 ^ -9.2233720368548E+18 ---
+int(-9223372036854775808)
+--- testing: 1 ^ 9223372036854775807 ---
+int(9223372036854775806)
+--- testing: 1 ^ -9223372036854775808 ---
+int(-9223372036854775807)
+--- testing: 1 ^ 2147483647 ---
+int(2147483646)
+--- testing: 1 ^ -2147483648 ---
+int(-2147483647)
+--- testing: 1 ^ 9223372034707292160 ---
+int(9223372034707292161)
+--- testing: 1 ^ -9223372034707292160 ---
+int(-9223372034707292159)
+--- testing: 1 ^ 2147483648 ---
+int(2147483649)
+--- testing: 1 ^ -2147483649 ---
+int(-2147483650)
+--- testing: 1 ^ 4294967294 ---
+int(4294967295)
+--- testing: 1 ^ 4294967295 ---
+int(4294967294)
+--- testing: 1 ^ 4294967293 ---
+int(4294967292)
+--- testing: 1 ^ 9223372036854775806 ---
+int(9223372036854775807)
+--- testing: 1 ^ 9.2233720368548E+18 ---
+int(-9223372036854775807)
+--- testing: 1 ^ -9223372036854775807 ---
+int(-9223372036854775808)
+--- testing: 1 ^ -9.2233720368548E+18 ---
+int(-9223372036854775807)
+--- testing: -1 ^ 9223372036854775807 ---
+int(-9223372036854775808)
+--- testing: -1 ^ -9223372036854775808 ---
+int(9223372036854775807)
+--- testing: -1 ^ 2147483647 ---
+int(-2147483648)
+--- testing: -1 ^ -2147483648 ---
+int(2147483647)
+--- testing: -1 ^ 9223372034707292160 ---
+int(-9223372034707292161)
+--- testing: -1 ^ -9223372034707292160 ---
+int(9223372034707292159)
+--- testing: -1 ^ 2147483648 ---
+int(-2147483649)
+--- testing: -1 ^ -2147483649 ---
+int(2147483648)
+--- testing: -1 ^ 4294967294 ---
+int(-4294967295)
+--- testing: -1 ^ 4294967295 ---
+int(-4294967296)
+--- testing: -1 ^ 4294967293 ---
+int(-4294967294)
+--- testing: -1 ^ 9223372036854775806 ---
+int(-9223372036854775807)
+--- testing: -1 ^ 9.2233720368548E+18 ---
+int(9223372036854775807)
+--- testing: -1 ^ -9223372036854775807 ---
+int(9223372036854775806)
+--- testing: -1 ^ -9.2233720368548E+18 ---
+int(9223372036854775807)
+--- testing: 7 ^ 9223372036854775807 ---
+int(9223372036854775800)
+--- testing: 7 ^ -9223372036854775808 ---
+int(-9223372036854775801)
+--- testing: 7 ^ 2147483647 ---
+int(2147483640)
+--- testing: 7 ^ -2147483648 ---
+int(-2147483641)
+--- testing: 7 ^ 9223372034707292160 ---
+int(9223372034707292167)
+--- testing: 7 ^ -9223372034707292160 ---
+int(-9223372034707292153)
+--- testing: 7 ^ 2147483648 ---
+int(2147483655)
+--- testing: 7 ^ -2147483649 ---
+int(-2147483656)
+--- testing: 7 ^ 4294967294 ---
+int(4294967289)
+--- testing: 7 ^ 4294967295 ---
+int(4294967288)
+--- testing: 7 ^ 4294967293 ---
+int(4294967290)
+--- testing: 7 ^ 9223372036854775806 ---
+int(9223372036854775801)
+--- testing: 7 ^ 9.2233720368548E+18 ---
+int(-9223372036854775801)
+--- testing: 7 ^ -9223372036854775807 ---
+int(-9223372036854775802)
+--- testing: 7 ^ -9.2233720368548E+18 ---
+int(-9223372036854775801)
+--- testing: 9 ^ 9223372036854775807 ---
+int(9223372036854775798)
+--- testing: 9 ^ -9223372036854775808 ---
+int(-9223372036854775799)
+--- testing: 9 ^ 2147483647 ---
+int(2147483638)
+--- testing: 9 ^ -2147483648 ---
+int(-2147483639)
+--- testing: 9 ^ 9223372034707292160 ---
+int(9223372034707292169)
+--- testing: 9 ^ -9223372034707292160 ---
+int(-9223372034707292151)
+--- testing: 9 ^ 2147483648 ---
+int(2147483657)
+--- testing: 9 ^ -2147483649 ---
+int(-2147483658)
+--- testing: 9 ^ 4294967294 ---
+int(4294967287)
+--- testing: 9 ^ 4294967295 ---
+int(4294967286)
+--- testing: 9 ^ 4294967293 ---
+int(4294967284)
+--- testing: 9 ^ 9223372036854775806 ---
+int(9223372036854775799)
+--- testing: 9 ^ 9.2233720368548E+18 ---
+int(-9223372036854775799)
+--- testing: 9 ^ -9223372036854775807 ---
+int(-9223372036854775800)
+--- testing: 9 ^ -9.2233720368548E+18 ---
+int(-9223372036854775799)
+--- testing: 65 ^ 9223372036854775807 ---
+int(9223372036854775742)
+--- testing: 65 ^ -9223372036854775808 ---
+int(-9223372036854775743)
+--- testing: 65 ^ 2147483647 ---
+int(2147483582)
+--- testing: 65 ^ -2147483648 ---
+int(-2147483583)
+--- testing: 65 ^ 9223372034707292160 ---
+int(9223372034707292225)
+--- testing: 65 ^ -9223372034707292160 ---
+int(-9223372034707292095)
+--- testing: 65 ^ 2147483648 ---
+int(2147483713)
+--- testing: 65 ^ -2147483649 ---
+int(-2147483714)
+--- testing: 65 ^ 4294967294 ---
+int(4294967231)
+--- testing: 65 ^ 4294967295 ---
+int(4294967230)
+--- testing: 65 ^ 4294967293 ---
+int(4294967228)
+--- testing: 65 ^ 9223372036854775806 ---
+int(9223372036854775743)
+--- testing: 65 ^ 9.2233720368548E+18 ---
+int(-9223372036854775743)
+--- testing: 65 ^ -9223372036854775807 ---
+int(-9223372036854775744)
+--- testing: 65 ^ -9.2233720368548E+18 ---
+int(-9223372036854775743)
+--- testing: -44 ^ 9223372036854775807 ---
+int(-9223372036854775765)
+--- testing: -44 ^ -9223372036854775808 ---
+int(9223372036854775764)
+--- testing: -44 ^ 2147483647 ---
+int(-2147483605)
+--- testing: -44 ^ -2147483648 ---
+int(2147483604)
+--- testing: -44 ^ 9223372034707292160 ---
+int(-9223372034707292204)
+--- testing: -44 ^ -9223372034707292160 ---
+int(9223372034707292116)
+--- testing: -44 ^ 2147483648 ---
+int(-2147483692)
+--- testing: -44 ^ -2147483649 ---
+int(2147483691)
+--- testing: -44 ^ 4294967294 ---
+int(-4294967254)
+--- testing: -44 ^ 4294967295 ---
+int(-4294967253)
+--- testing: -44 ^ 4294967293 ---
+int(-4294967255)
+--- testing: -44 ^ 9223372036854775806 ---
+int(-9223372036854775766)
+--- testing: -44 ^ 9.2233720368548E+18 ---
+int(9223372036854775764)
+--- testing: -44 ^ -9223372036854775807 ---
+int(9223372036854775765)
+--- testing: -44 ^ -9.2233720368548E+18 ---
+int(9223372036854775764)
+--- testing: 2147483647 ^ 9223372036854775807 ---
+int(9223372034707292160)
+--- testing: 2147483647 ^ -9223372036854775808 ---
+int(-9223372034707292161)
+--- testing: 2147483647 ^ 2147483647 ---
+int(0)
+--- testing: 2147483647 ^ -2147483648 ---
+int(-1)
+--- testing: 2147483647 ^ 9223372034707292160 ---
+int(9223372036854775807)
+--- testing: 2147483647 ^ -9223372034707292160 ---
+int(-9223372032559808513)
+--- testing: 2147483647 ^ 2147483648 ---
+int(4294967295)
+--- testing: 2147483647 ^ -2147483649 ---
+int(-4294967296)
+--- testing: 2147483647 ^ 4294967294 ---
+int(2147483649)
+--- testing: 2147483647 ^ 4294967295 ---
+int(2147483648)
+--- testing: 2147483647 ^ 4294967293 ---
+int(2147483650)
+--- testing: 2147483647 ^ 9223372036854775806 ---
+int(9223372034707292161)
+--- testing: 2147483647 ^ 9.2233720368548E+18 ---
+int(-9223372034707292161)
+--- testing: 2147483647 ^ -9223372036854775807 ---
+int(-9223372034707292162)
+--- testing: 2147483647 ^ -9.2233720368548E+18 ---
+int(-9223372034707292161)
+--- testing: 9223372036854775807 ^ 9223372036854775807 ---
+int(0)
+--- testing: 9223372036854775807 ^ -9223372036854775808 ---
+int(-1)
+--- testing: 9223372036854775807 ^ 2147483647 ---
+int(9223372034707292160)
+--- testing: 9223372036854775807 ^ -2147483648 ---
+int(-9223372034707292161)
+--- testing: 9223372036854775807 ^ 9223372034707292160 ---
+int(2147483647)
+--- testing: 9223372036854775807 ^ -9223372034707292160 ---
+int(-2147483649)
+--- testing: 9223372036854775807 ^ 2147483648 ---
+int(9223372034707292159)
+--- testing: 9223372036854775807 ^ -2147483649 ---
+int(-9223372034707292160)
+--- testing: 9223372036854775807 ^ 4294967294 ---
+int(9223372032559808513)
+--- testing: 9223372036854775807 ^ 4294967295 ---
+int(9223372032559808512)
+--- testing: 9223372036854775807 ^ 4294967293 ---
+int(9223372032559808514)
+--- testing: 9223372036854775807 ^ 9223372036854775806 ---
+int(1)
+--- testing: 9223372036854775807 ^ 9.2233720368548E+18 ---
+int(-1)
+--- testing: 9223372036854775807 ^ -9223372036854775807 ---
+int(-2)
+--- testing: 9223372036854775807 ^ -9.2233720368548E+18 ---
+int(-1)
+===DONE===
+ \ No newline at end of file
diff --git a/tests/lang/operators/modulus_basiclong_64bit.phpt b/tests/lang/operators/modulus_basiclong_64bit.phpt
new file mode 100644
index 0000000000..d75ff1ea03
--- /dev/null
+++ b/tests/lang/operators/modulus_basiclong_64bit.phpt
@@ -0,0 +1,582 @@
+--TEST--
+Test % operator : 64bit long tests
+--SKIPIF--
+<?php
+if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
+?>
+--FILE--
+<?php
+
+define("MAX_64Bit", 9223372036854775807);
+define("MAX_32Bit", 2147483647);
+define("MIN_64Bit", -9223372036854775807 - 1);
+define("MIN_32Bit", -2147483647 - 1);
+
+$longVals = array(
+ MAX_64Bit, MIN_64Bit, MAX_32Bit, MIN_32Bit, MAX_64Bit - MAX_32Bit, MIN_64Bit - MIN_32Bit,
+ MAX_32Bit + 1, MIN_32Bit - 1, MAX_32Bit * 2, (MAX_32Bit * 2) + 1, (MAX_32Bit * 2) - 1,
+ MAX_64Bit -1, MAX_64Bit + 1, MIN_64Bit + 1, MIN_64Bit - 1
+);
+
+$otherVals = array(0, 1, -1, 7, 9, 65, -44, MAX_32Bit, MAX_64Bit);
+
+error_reporting(E_ERROR);
+
+foreach ($longVals as $longVal) {
+ foreach($otherVals as $otherVal) {
+ echo "--- testing: $longVal % $otherVal ---\n";
+ var_dump($longVal%$otherVal);
+ }
+}
+
+foreach ($otherVals as $otherVal) {
+ foreach($longVals as $longVal) {
+ echo "--- testing: $otherVal % $longVal ---\n";
+ var_dump($otherVal%$longVal);
+ }
+}
+
+?>
+===DONE===
+--EXPECT--
+--- testing: 9223372036854775807 % 0 ---
+bool(false)
+--- testing: 9223372036854775807 % 1 ---
+int(0)
+--- testing: 9223372036854775807 % -1 ---
+int(0)
+--- testing: 9223372036854775807 % 7 ---
+int(0)
+--- testing: 9223372036854775807 % 9 ---
+int(7)
+--- testing: 9223372036854775807 % 65 ---
+int(7)
+--- testing: 9223372036854775807 % -44 ---
+int(7)
+--- testing: 9223372036854775807 % 2147483647 ---
+int(1)
+--- testing: 9223372036854775807 % 9223372036854775807 ---
+int(0)
+--- testing: -9223372036854775808 % 0 ---
+bool(false)
+--- testing: -9223372036854775808 % 1 ---
+int(0)
+--- testing: -9223372036854775808 % -1 ---
+int(0)
+--- testing: -9223372036854775808 % 7 ---
+int(-1)
+--- testing: -9223372036854775808 % 9 ---
+int(-8)
+--- testing: -9223372036854775808 % 65 ---
+int(-8)
+--- testing: -9223372036854775808 % -44 ---
+int(-8)
+--- testing: -9223372036854775808 % 2147483647 ---
+int(-2)
+--- testing: -9223372036854775808 % 9223372036854775807 ---
+int(-1)
+--- testing: 2147483647 % 0 ---
+bool(false)
+--- testing: 2147483647 % 1 ---
+int(0)
+--- testing: 2147483647 % -1 ---
+int(0)
+--- testing: 2147483647 % 7 ---
+int(1)
+--- testing: 2147483647 % 9 ---
+int(1)
+--- testing: 2147483647 % 65 ---
+int(62)
+--- testing: 2147483647 % -44 ---
+int(23)
+--- testing: 2147483647 % 2147483647 ---
+int(0)
+--- testing: 2147483647 % 9223372036854775807 ---
+int(2147483647)
+--- testing: -2147483648 % 0 ---
+bool(false)
+--- testing: -2147483648 % 1 ---
+int(0)
+--- testing: -2147483648 % -1 ---
+int(0)
+--- testing: -2147483648 % 7 ---
+int(-2)
+--- testing: -2147483648 % 9 ---
+int(-2)
+--- testing: -2147483648 % 65 ---
+int(-63)
+--- testing: -2147483648 % -44 ---
+int(-24)
+--- testing: -2147483648 % 2147483647 ---
+int(-1)
+--- testing: -2147483648 % 9223372036854775807 ---
+int(-2147483648)
+--- testing: 9223372034707292160 % 0 ---
+bool(false)
+--- testing: 9223372034707292160 % 1 ---
+int(0)
+--- testing: 9223372034707292160 % -1 ---
+int(0)
+--- testing: 9223372034707292160 % 7 ---
+int(6)
+--- testing: 9223372034707292160 % 9 ---
+int(6)
+--- testing: 9223372034707292160 % 65 ---
+int(10)
+--- testing: 9223372034707292160 % -44 ---
+int(28)
+--- testing: 9223372034707292160 % 2147483647 ---
+int(1)
+--- testing: 9223372034707292160 % 9223372036854775807 ---
+int(9223372034707292160)
+--- testing: -9223372034707292160 % 0 ---
+bool(false)
+--- testing: -9223372034707292160 % 1 ---
+int(0)
+--- testing: -9223372034707292160 % -1 ---
+int(0)
+--- testing: -9223372034707292160 % 7 ---
+int(-6)
+--- testing: -9223372034707292160 % 9 ---
+int(-6)
+--- testing: -9223372034707292160 % 65 ---
+int(-10)
+--- testing: -9223372034707292160 % -44 ---
+int(-28)
+--- testing: -9223372034707292160 % 2147483647 ---
+int(-1)
+--- testing: -9223372034707292160 % 9223372036854775807 ---
+int(-9223372034707292160)
+--- testing: 2147483648 % 0 ---
+bool(false)
+--- testing: 2147483648 % 1 ---
+int(0)
+--- testing: 2147483648 % -1 ---
+int(0)
+--- testing: 2147483648 % 7 ---
+int(2)
+--- testing: 2147483648 % 9 ---
+int(2)
+--- testing: 2147483648 % 65 ---
+int(63)
+--- testing: 2147483648 % -44 ---
+int(24)
+--- testing: 2147483648 % 2147483647 ---
+int(1)
+--- testing: 2147483648 % 9223372036854775807 ---
+int(2147483648)
+--- testing: -2147483649 % 0 ---
+bool(false)
+--- testing: -2147483649 % 1 ---
+int(0)
+--- testing: -2147483649 % -1 ---
+int(0)
+--- testing: -2147483649 % 7 ---
+int(-3)
+--- testing: -2147483649 % 9 ---
+int(-3)
+--- testing: -2147483649 % 65 ---
+int(-64)
+--- testing: -2147483649 % -44 ---
+int(-25)
+--- testing: -2147483649 % 2147483647 ---
+int(-2)
+--- testing: -2147483649 % 9223372036854775807 ---
+int(-2147483649)
+--- testing: 4294967294 % 0 ---
+bool(false)
+--- testing: 4294967294 % 1 ---
+int(0)
+--- testing: 4294967294 % -1 ---
+int(0)
+--- testing: 4294967294 % 7 ---
+int(2)
+--- testing: 4294967294 % 9 ---
+int(2)
+--- testing: 4294967294 % 65 ---
+int(59)
+--- testing: 4294967294 % -44 ---
+int(2)
+--- testing: 4294967294 % 2147483647 ---
+int(0)
+--- testing: 4294967294 % 9223372036854775807 ---
+int(4294967294)
+--- testing: 4294967295 % 0 ---
+bool(false)
+--- testing: 4294967295 % 1 ---
+int(0)
+--- testing: 4294967295 % -1 ---
+int(0)
+--- testing: 4294967295 % 7 ---
+int(3)
+--- testing: 4294967295 % 9 ---
+int(3)
+--- testing: 4294967295 % 65 ---
+int(60)
+--- testing: 4294967295 % -44 ---
+int(3)
+--- testing: 4294967295 % 2147483647 ---
+int(1)
+--- testing: 4294967295 % 9223372036854775807 ---
+int(4294967295)
+--- testing: 4294967293 % 0 ---
+bool(false)
+--- testing: 4294967293 % 1 ---
+int(0)
+--- testing: 4294967293 % -1 ---
+int(0)
+--- testing: 4294967293 % 7 ---
+int(1)
+--- testing: 4294967293 % 9 ---
+int(1)
+--- testing: 4294967293 % 65 ---
+int(58)
+--- testing: 4294967293 % -44 ---
+int(1)
+--- testing: 4294967293 % 2147483647 ---
+int(2147483646)
+--- testing: 4294967293 % 9223372036854775807 ---
+int(4294967293)
+--- testing: 9223372036854775806 % 0 ---
+bool(false)
+--- testing: 9223372036854775806 % 1 ---
+int(0)
+--- testing: 9223372036854775806 % -1 ---
+int(0)
+--- testing: 9223372036854775806 % 7 ---
+int(6)
+--- testing: 9223372036854775806 % 9 ---
+int(6)
+--- testing: 9223372036854775806 % 65 ---
+int(6)
+--- testing: 9223372036854775806 % -44 ---
+int(6)
+--- testing: 9223372036854775806 % 2147483647 ---
+int(0)
+--- testing: 9223372036854775806 % 9223372036854775807 ---
+int(9223372036854775806)
+--- testing: 9.2233720368548E+18 % 0 ---
+bool(false)
+--- testing: 9.2233720368548E+18 % 1 ---
+int(0)
+--- testing: 9.2233720368548E+18 % -1 ---
+int(0)
+--- testing: 9.2233720368548E+18 % 7 ---
+int(-1)
+--- testing: 9.2233720368548E+18 % 9 ---
+int(-8)
+--- testing: 9.2233720368548E+18 % 65 ---
+int(-8)
+--- testing: 9.2233720368548E+18 % -44 ---
+int(-8)
+--- testing: 9.2233720368548E+18 % 2147483647 ---
+int(-2)
+--- testing: 9.2233720368548E+18 % 9223372036854775807 ---
+int(-1)
+--- testing: -9223372036854775807 % 0 ---
+bool(false)
+--- testing: -9223372036854775807 % 1 ---
+int(0)
+--- testing: -9223372036854775807 % -1 ---
+int(0)
+--- testing: -9223372036854775807 % 7 ---
+int(0)
+--- testing: -9223372036854775807 % 9 ---
+int(-7)
+--- testing: -9223372036854775807 % 65 ---
+int(-7)
+--- testing: -9223372036854775807 % -44 ---
+int(-7)
+--- testing: -9223372036854775807 % 2147483647 ---
+int(-1)
+--- testing: -9223372036854775807 % 9223372036854775807 ---
+int(0)
+--- testing: -9.2233720368548E+18 % 0 ---
+bool(false)
+--- testing: -9.2233720368548E+18 % 1 ---
+int(0)
+--- testing: -9.2233720368548E+18 % -1 ---
+int(0)
+--- testing: -9.2233720368548E+18 % 7 ---
+int(-1)
+--- testing: -9.2233720368548E+18 % 9 ---
+int(-8)
+--- testing: -9.2233720368548E+18 % 65 ---
+int(-8)
+--- testing: -9.2233720368548E+18 % -44 ---
+int(-8)
+--- testing: -9.2233720368548E+18 % 2147483647 ---
+int(-2)
+--- testing: -9.2233720368548E+18 % 9223372036854775807 ---
+int(-1)
+--- testing: 0 % 9223372036854775807 ---
+int(0)
+--- testing: 0 % -9223372036854775808 ---
+int(0)
+--- testing: 0 % 2147483647 ---
+int(0)
+--- testing: 0 % -2147483648 ---
+int(0)
+--- testing: 0 % 9223372034707292160 ---
+int(0)
+--- testing: 0 % -9223372034707292160 ---
+int(0)
+--- testing: 0 % 2147483648 ---
+int(0)
+--- testing: 0 % -2147483649 ---
+int(0)
+--- testing: 0 % 4294967294 ---
+int(0)
+--- testing: 0 % 4294967295 ---
+int(0)
+--- testing: 0 % 4294967293 ---
+int(0)
+--- testing: 0 % 9223372036854775806 ---
+int(0)
+--- testing: 0 % 9.2233720368548E+18 ---
+int(0)
+--- testing: 0 % -9223372036854775807 ---
+int(0)
+--- testing: 0 % -9.2233720368548E+18 ---
+int(0)
+--- testing: 1 % 9223372036854775807 ---
+int(1)
+--- testing: 1 % -9223372036854775808 ---
+int(1)
+--- testing: 1 % 2147483647 ---
+int(1)
+--- testing: 1 % -2147483648 ---
+int(1)
+--- testing: 1 % 9223372034707292160 ---
+int(1)
+--- testing: 1 % -9223372034707292160 ---
+int(1)
+--- testing: 1 % 2147483648 ---
+int(1)
+--- testing: 1 % -2147483649 ---
+int(1)
+--- testing: 1 % 4294967294 ---
+int(1)
+--- testing: 1 % 4294967295 ---
+int(1)
+--- testing: 1 % 4294967293 ---
+int(1)
+--- testing: 1 % 9223372036854775806 ---
+int(1)
+--- testing: 1 % 9.2233720368548E+18 ---
+int(1)
+--- testing: 1 % -9223372036854775807 ---
+int(1)
+--- testing: 1 % -9.2233720368548E+18 ---
+int(1)
+--- testing: -1 % 9223372036854775807 ---
+int(-1)
+--- testing: -1 % -9223372036854775808 ---
+int(-1)
+--- testing: -1 % 2147483647 ---
+int(-1)
+--- testing: -1 % -2147483648 ---
+int(-1)
+--- testing: -1 % 9223372034707292160 ---
+int(-1)
+--- testing: -1 % -9223372034707292160 ---
+int(-1)
+--- testing: -1 % 2147483648 ---
+int(-1)
+--- testing: -1 % -2147483649 ---
+int(-1)
+--- testing: -1 % 4294967294 ---
+int(-1)
+--- testing: -1 % 4294967295 ---
+int(-1)
+--- testing: -1 % 4294967293 ---
+int(-1)
+--- testing: -1 % 9223372036854775806 ---
+int(-1)
+--- testing: -1 % 9.2233720368548E+18 ---
+int(-1)
+--- testing: -1 % -9223372036854775807 ---
+int(-1)
+--- testing: -1 % -9.2233720368548E+18 ---
+int(-1)
+--- testing: 7 % 9223372036854775807 ---
+int(7)
+--- testing: 7 % -9223372036854775808 ---
+int(7)
+--- testing: 7 % 2147483647 ---
+int(7)
+--- testing: 7 % -2147483648 ---
+int(7)
+--- testing: 7 % 9223372034707292160 ---
+int(7)
+--- testing: 7 % -9223372034707292160 ---
+int(7)
+--- testing: 7 % 2147483648 ---
+int(7)
+--- testing: 7 % -2147483649 ---
+int(7)
+--- testing: 7 % 4294967294 ---
+int(7)
+--- testing: 7 % 4294967295 ---
+int(7)
+--- testing: 7 % 4294967293 ---
+int(7)
+--- testing: 7 % 9223372036854775806 ---
+int(7)
+--- testing: 7 % 9.2233720368548E+18 ---
+int(7)
+--- testing: 7 % -9223372036854775807 ---
+int(7)
+--- testing: 7 % -9.2233720368548E+18 ---
+int(7)
+--- testing: 9 % 9223372036854775807 ---
+int(9)
+--- testing: 9 % -9223372036854775808 ---
+int(9)
+--- testing: 9 % 2147483647 ---
+int(9)
+--- testing: 9 % -2147483648 ---
+int(9)
+--- testing: 9 % 9223372034707292160 ---
+int(9)
+--- testing: 9 % -9223372034707292160 ---
+int(9)
+--- testing: 9 % 2147483648 ---
+int(9)
+--- testing: 9 % -2147483649 ---
+int(9)
+--- testing: 9 % 4294967294 ---
+int(9)
+--- testing: 9 % 4294967295 ---
+int(9)
+--- testing: 9 % 4294967293 ---
+int(9)
+--- testing: 9 % 9223372036854775806 ---
+int(9)
+--- testing: 9 % 9.2233720368548E+18 ---
+int(9)
+--- testing: 9 % -9223372036854775807 ---
+int(9)
+--- testing: 9 % -9.2233720368548E+18 ---
+int(9)
+--- testing: 65 % 9223372036854775807 ---
+int(65)
+--- testing: 65 % -9223372036854775808 ---
+int(65)
+--- testing: 65 % 2147483647 ---
+int(65)
+--- testing: 65 % -2147483648 ---
+int(65)
+--- testing: 65 % 9223372034707292160 ---
+int(65)
+--- testing: 65 % -9223372034707292160 ---
+int(65)
+--- testing: 65 % 2147483648 ---
+int(65)
+--- testing: 65 % -2147483649 ---
+int(65)
+--- testing: 65 % 4294967294 ---
+int(65)
+--- testing: 65 % 4294967295 ---
+int(65)
+--- testing: 65 % 4294967293 ---
+int(65)
+--- testing: 65 % 9223372036854775806 ---
+int(65)
+--- testing: 65 % 9.2233720368548E+18 ---
+int(65)
+--- testing: 65 % -9223372036854775807 ---
+int(65)
+--- testing: 65 % -9.2233720368548E+18 ---
+int(65)
+--- testing: -44 % 9223372036854775807 ---
+int(-44)
+--- testing: -44 % -9223372036854775808 ---
+int(-44)
+--- testing: -44 % 2147483647 ---
+int(-44)
+--- testing: -44 % -2147483648 ---
+int(-44)
+--- testing: -44 % 9223372034707292160 ---
+int(-44)
+--- testing: -44 % -9223372034707292160 ---
+int(-44)
+--- testing: -44 % 2147483648 ---
+int(-44)
+--- testing: -44 % -2147483649 ---
+int(-44)
+--- testing: -44 % 4294967294 ---
+int(-44)
+--- testing: -44 % 4294967295 ---
+int(-44)
+--- testing: -44 % 4294967293 ---
+int(-44)
+--- testing: -44 % 9223372036854775806 ---
+int(-44)
+--- testing: -44 % 9.2233720368548E+18 ---
+int(-44)
+--- testing: -44 % -9223372036854775807 ---
+int(-44)
+--- testing: -44 % -9.2233720368548E+18 ---
+int(-44)
+--- testing: 2147483647 % 9223372036854775807 ---
+int(2147483647)
+--- testing: 2147483647 % -9223372036854775808 ---
+int(2147483647)
+--- testing: 2147483647 % 2147483647 ---
+int(0)
+--- testing: 2147483647 % -2147483648 ---
+int(2147483647)
+--- testing: 2147483647 % 9223372034707292160 ---
+int(2147483647)
+--- testing: 2147483647 % -9223372034707292160 ---
+int(2147483647)
+--- testing: 2147483647 % 2147483648 ---
+int(2147483647)
+--- testing: 2147483647 % -2147483649 ---
+int(2147483647)
+--- testing: 2147483647 % 4294967294 ---
+int(2147483647)
+--- testing: 2147483647 % 4294967295 ---
+int(2147483647)
+--- testing: 2147483647 % 4294967293 ---
+int(2147483647)
+--- testing: 2147483647 % 9223372036854775806 ---
+int(2147483647)
+--- testing: 2147483647 % 9.2233720368548E+18 ---
+int(2147483647)
+--- testing: 2147483647 % -9223372036854775807 ---
+int(2147483647)
+--- testing: 2147483647 % -9.2233720368548E+18 ---
+int(2147483647)
+--- testing: 9223372036854775807 % 9223372036854775807 ---
+int(0)
+--- testing: 9223372036854775807 % -9223372036854775808 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 % 2147483647 ---
+int(1)
+--- testing: 9223372036854775807 % -2147483648 ---
+int(2147483647)
+--- testing: 9223372036854775807 % 9223372034707292160 ---
+int(2147483647)
+--- testing: 9223372036854775807 % -9223372034707292160 ---
+int(2147483647)
+--- testing: 9223372036854775807 % 2147483648 ---
+int(2147483647)
+--- testing: 9223372036854775807 % -2147483649 ---
+int(1)
+--- testing: 9223372036854775807 % 4294967294 ---
+int(1)
+--- testing: 9223372036854775807 % 4294967295 ---
+int(2147483647)
+--- testing: 9223372036854775807 % 4294967293 ---
+int(2147483650)
+--- testing: 9223372036854775807 % 9223372036854775806 ---
+int(1)
+--- testing: 9223372036854775807 % 9.2233720368548E+18 ---
+int(9223372036854775807)
+--- testing: 9223372036854775807 % -9223372036854775807 ---
+int(0)
+--- testing: 9223372036854775807 % -9.2233720368548E+18 ---
+int(9223372036854775807)
+===DONE=== \ No newline at end of file