mirror of
https://github.com/micropython/micropython.git
synced 2026-01-07 20:50:14 +01:00
py: Fix rshift and not of zero/one edge cases in mpz.
Addresses issue #1027.
This commit is contained in:
14
tests/basics/int_big_zeroone.py
Normal file
14
tests/basics/int_big_zeroone.py
Normal file
@@ -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])
|
||||
Reference in New Issue
Block a user