1# test [0,-0,1,-1] edge cases of bignum
2
3long_zero = (2**64) >> 65
4long_neg_zero = -long_zero
5long_one = long_zero + 1
6long_neg_one = -long_one
7
8cases = [long_zero, long_neg_zero, long_one, long_neg_one]
9
10print(cases)
11print([-c for c in cases])
12print([~c for c in cases])
13print([c >> 1 for c in cases])
14print([c << 1 for c in cases])
15
16# comparison of 0/-0/+0
17print(long_zero == 0)
18print(long_neg_zero == 0)
19print(long_one - 1 == 0)
20print(long_neg_one + 1 == 0)
21print(long_zero < 1)
22print(long_zero < -1)
23print(long_zero > 1)
24print(long_zero > -1)
25print(long_neg_zero < 1)
26print(long_neg_zero < -1)
27print(long_neg_zero > 1)
28print(long_neg_zero > -1)
29