diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2017-03-04 00:13:27 +0300 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2017-03-04 00:13:27 +0300 |
commit | 3ab6aa3a6d0506e805caa19369bef279c1c789b4 (patch) | |
tree | 1232b7c9b796c907a7202dcd46f5008724058b05 /tests/basics/int_intbig.py | |
parent | 89e570a5b4025976da66123032c58611f0f6cb17 (diff) | |
download | micropython-3ab6aa3a6d0506e805caa19369bef279c1c789b4.tar.gz micropython-3ab6aa3a6d0506e805caa19369bef279c1c789b4.zip |
tests/basic: Split tests into working with small ints and not working.
Tests which don't work with small ints are suffixed with _intbig.py. Some
of these may still work with long long ints and need to be reclassified
later.
Diffstat (limited to 'tests/basics/int_intbig.py')
-rw-r--r-- | tests/basics/int_intbig.py | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/basics/int_intbig.py b/tests/basics/int_intbig.py new file mode 100644 index 0000000000..a22075d1f9 --- /dev/null +++ b/tests/basics/int_intbig.py @@ -0,0 +1,54 @@ +# This tests long ints for 32-bit machine + +a = 0x1ffffffff +b = 0x100000000 +print(a) +print(b) +print(a + b) +print(a - b) +print(b - a) +# overflows long long implementation +#print(a * b) +print(a // b) +print(a % b) +print("&", a & b) +print(a | b) +print(a ^ b) +print(a << 3) +print(a >> 1) + +a += b +print(a) +a -= 123456 +print(a) +a *= 257 +print(a) +a //= 257 +print(a) +a %= b +print(a) +a ^= b +print(a) +a |= b +print(a) +a &= b +print("&=", a) +a <<= 5 +print(a) +a >>= 1 +print(a) + +# Test referential integrity of long ints +a = 0x1ffffffff +b = a +a += 1 +print(a) +print(b) + +# Bitwise ops on 64-bit + +a = 0x1ffffffffffffffff +b = 0x10000000000000000 +print("&", a & b) +print(a | b) +print(a ^ b) |