diff options
author | Damien George <damien.p.george@gmail.com> | 2014-12-31 19:35:01 +0000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2014-12-31 19:35:01 +0000 |
commit | e0ac194f4fe8b028cb735b73f3333933db7b573d (patch) | |
tree | a502333e7331519da5a2c29d9d49a02076079757 /tests | |
parent | 816a46a4ab7975b200d6c50be29ad927481ad88d (diff) | |
download | micropython-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.py | 14 |
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]) |