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