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_constfolding_intbig.py | |
parent | 89e570a5b4025976da66123032c58611f0f6cb17 (diff) |
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_constfolding_intbig.py')
-rw-r--r-- | tests/basics/int_constfolding_intbig.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/basics/int_constfolding_intbig.py b/tests/basics/int_constfolding_intbig.py new file mode 100644 index 000000000..714f1559a --- /dev/null +++ b/tests/basics/int_constfolding_intbig.py @@ -0,0 +1,19 @@ +# tests int constant folding in compiler + +# negation +print(-0x3fffffff) # 32-bit edge case +print(-0x3fffffffffffffff) # 64-bit edge case +print(-(-0x3fffffff - 1)) # 32-bit edge case +print(-(-0x3fffffffffffffff - 1)) # 64-bit edge case + +# 1's complement +print(~0x3fffffff) # 32-bit edge case +print(~0x3fffffffffffffff) # 64-bit edge case +print(~(-0x3fffffff - 1)) # 32-bit edge case +print(~(-0x3fffffffffffffff - 1)) # 64-bit edge case + +# zero big-num on rhs +print(1 + ((1 << 65) - (1 << 65))) + +# negative big-num on rhs +print(1 + (-(1 << 65))) |