summaryrefslogtreecommitdiffstatshomepage
path: root/tests
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2014-12-31 19:35:01 +0000
committerDamien George <damien.p.george@gmail.com>2014-12-31 19:35:01 +0000
commite0ac194f4fe8b028cb735b73f3333933db7b573d (patch)
treea502333e7331519da5a2c29d9d49a02076079757 /tests
parent816a46a4ab7975b200d6c50be29ad927481ad88d (diff)
downloadmicropython-e0ac194f4fe8b028cb735b73f3333933db7b573d.tar.gz
micropython-e0ac194f4fe8b028cb735b73f3333933db7b573d.zip
py: Fix rshift and not of zero/one edge cases in mpz.
Addresses issue #1027.
Diffstat (limited to 'tests')
-rw-r--r--tests/basics/int_big_zeroone.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/basics/int_big_zeroone.py b/tests/basics/int_big_zeroone.py
new file mode 100644
index 0000000000..e467714bdf
--- /dev/null
+++ b/tests/basics/int_big_zeroone.py
@@ -0,0 +1,14 @@
+# test [0,-0,1,-1] edge cases of bignum
+
+long_zero = (2**64) >> 65
+long_neg_zero = -long_zero
+long_one = long_zero + 1
+long_neg_one = -long_one
+
+cases = [long_zero, long_neg_zero, long_one, long_neg_one]
+
+print(cases)
+print([-c for c in cases])
+print([~c for c in cases])
+print([c >> 1 for c in cases])
+print([c << 1 for c in cases])