summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/int_big_and.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basics/int_big_and.py')
-rw-r--r--tests/basics/int_big_and.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/basics/int_big_and.py b/tests/basics/int_big_and.py
new file mode 100644
index 0000000000..a48848dbf0
--- /dev/null
+++ b/tests/basics/int_big_and.py
@@ -0,0 +1,24 @@
+print(0 & (1 << 80))
+print(0 & (1 << 80) == 0)
+print(bool(0 & (1 << 80)))
+
+a = 0xfffffffffffffffffffffffffffff
+print(a & (1 << 80))
+print((a & (1 << 80)) >> 80)
+print((a & (1 << 80)) >> 80 == 1)
+
+# test negative on rhs
+a = 123456789012345678901234567890
+print(a & -1)
+print(a & -2)
+print(a & -2345678901234567890123456789)
+print(a & (-a))
+
+# test negative on lhs
+a = 123456789012345678901234567890
+print(-1 & a)
+print(-2 & a)
+print(-2345678901234567890123456789 & a)
+print((-a) & a)
+print((-a) & 0xffffffff)
+print((-a) & 0xffffffffffffffffffffffffffffffff)