You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
649 B
28 lines
649 B
# 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])
|
|
|
|
# comparison of 0/-0/+0
|
|
print(long_zero == 0)
|
|
print(long_neg_zero == 0)
|
|
print(long_one - 1 == 0)
|
|
print(long_neg_one + 1 == 0)
|
|
print(long_zero < 1)
|
|
print(long_zero < -1)
|
|
print(long_zero > 1)
|
|
print(long_zero > -1)
|
|
print(long_neg_zero < 1)
|
|
print(long_neg_zero < -1)
|
|
print(long_neg_zero > 1)
|
|
print(long_neg_zero > -1)
|
|
|