summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/int_big_mod.py
blob: f383553c18e8dc38075210e9edc7e4403cc85575 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# test % operation on big integers

delta = 100000000000000000000000000000012345

for i in range(11):
    for j in range(11):
        x = delta * (i)# - 5) # TODO reinstate negative number test when % is working with sign correctly
        y = delta * (j)# - 5) # TODO reinstate negative number test when % is working with sign correctly
        if y != 0:
            print(x % y)

# these check an edge case on 64-bit machines where two mpz limbs
# are used and the most significant one has the MSB set
x = 0x8000000000000000
print((x + 1) % x)
x = 0x86c60128feff5330
print((x + 1) % x)