summaryrefslogtreecommitdiffstatshomepage
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/basics/int_big_and.py117
-rw-r--r--tests/basics/int_big_or.py140
-rw-r--r--tests/basics/int_big_xor.py129
-rw-r--r--tests/misc/non_compliant.py19
-rw-r--r--tests/misc/non_compliant.py.exp3
5 files changed, 386 insertions, 22 deletions
diff --git a/tests/basics/int_big_and.py b/tests/basics/int_big_and.py
index 2dabe80ecf..b3bba37c19 100644
--- a/tests/basics/int_big_and.py
+++ b/tests/basics/int_big_and.py
@@ -26,3 +26,120 @@ print((-a) & 0xffffffff)
print((-a) & 0xffffffffffffffffffffffffffffffff)
print((-a) & 2)
print((-(1 << 70)) & 2)
+
+# test negative on lhs and rhs
+mpz = 1 << 70
+a = 123456789012345678901234567890
+print(-1 & (-a))
+print(-2 & (-a))
+print(-2345678901234567890123456789 & (-a))
+print((-a) & (-a))
+print((-a) & (-0xffffffff))
+print((-a) & (-0xffffffffffffffffffffffffffffffff))
+print((-1) & (-0xffffffffffffffffffffffffffffffff))
+print((-a) & (-2))
+print((-mpz) & (-2))
+
+# test + +
+
+print( 97989513389222316022151446562729620153292831887555425160965597396
+ & 23716683549865351578586448630079789776107310103486834795830390982)
+
+print( 53817081128841898634258263553430908085326601592682411889506742059
+ & 37042558948907407488299113387826240429667200950043601129661240876)
+
+print( 26167512042587370698808974207700979337713004510730289760097826496
+ & 98456276326770292376138852628141531773120376436197321310863125849)
+
+print( 21085380307304977067262070503651827226504797285572981274069266136
+ & 15928222825828272388778130358888206480162413547887287646273147570)
+
+print( 40827393422334167255488276244226338235131323044408420081160772273
+ & 63815443187857978125545555033672525708399848575557475462799643340)
+
+print( 5181013159871685724135944379095645225188360725917119022722046448
+ & 59734090450462480092384049604830976376887859531148103803093112493)
+
+print( 283894311
+ & 86526825689187217371383854139783231460931720533100376593106943447)
+
+print( 40019818573920230246248826511203818792007462193311949166285967147
+ & 9487909752)
+
+# test - +
+
+print( -97989513389222316022151446562729620153292831887555425160965597396
+ & 23716683549865351578586448630079789776107310103486834795830390982)
+
+print( -53817081128841898634258263553430908085326601592682411889506742059
+ & 37042558948907407488299113387826240429667200950043601129661240876)
+
+print( -26167512042587370698808974207700979337713004510730289760097826496
+ & 98456276326770292376138852628141531773120376436197321310863125849)
+
+print( -21085380307304977067262070503651827226504797285572981274069266136
+ & 15928222825828272388778130358888206480162413547887287646273147570)
+
+print( -40827393422334167255488276244226338235131323044408420081160772273
+ & 63815443187857978125545555033672525708399848575557475462799643340)
+
+print( -5181013159871685724135944379095645225188360725917119022722046448
+ & 59734090450462480092384049604830976376887859531148103803093112493)
+
+print( -283894311
+ & 86526825689187217371383854139783231460931720533100376593106943447)
+
+print( -40019818573920230246248826511203818792007462193311949166285967147
+ & 9487909752)
+
+# test + -
+
+print( 97989513389222316022151446562729620153292831887555425160965597396
+ & -23716683549865351578586448630079789776107310103486834795830390982)
+
+print( 53817081128841898634258263553430908085326601592682411889506742059
+ & -37042558948907407488299113387826240429667200950043601129661240876)
+
+print( 26167512042587370698808974207700979337713004510730289760097826496
+ & -98456276326770292376138852628141531773120376436197321310863125849)
+
+print( 21085380307304977067262070503651827226504797285572981274069266136
+ & -15928222825828272388778130358888206480162413547887287646273147570)
+
+print( 40827393422334167255488276244226338235131323044408420081160772273
+ & -63815443187857978125545555033672525708399848575557475462799643340)
+
+print( 5181013159871685724135944379095645225188360725917119022722046448
+ & -59734090450462480092384049604830976376887859531148103803093112493)
+
+print( 283894311
+ & -86526825689187217371383854139783231460931720533100376593106943447)
+
+print( 40019818573920230246248826511203818792007462193311949166285967147
+ & -9487909752)
+
+# test - -
+
+print( -97989513389222316022151446562729620153292831887555425160965597396
+ & -23716683549865351578586448630079789776107310103486834795830390982)
+
+print( -53817081128841898634258263553430908085326601592682411889506742059
+ & -37042558948907407488299113387826240429667200950043601129661240876)
+
+print( -26167512042587370698808974207700979337713004510730289760097826496
+ & -98456276326770292376138852628141531773120376436197321310863125849)
+
+print( -21085380307304977067262070503651827226504797285572981274069266136
+ & -15928222825828272388778130358888206480162413547887287646273147570)
+
+print( -40827393422334167255488276244226338235131323044408420081160772273
+ & -63815443187857978125545555033672525708399848575557475462799643340)
+
+print( -5181013159871685724135944379095645225188360725917119022722046448
+ & -59734090450462480092384049604830976376887859531148103803093112493)
+
+print( -283894311
+ & -86526825689187217371383854139783231460931720533100376593106943447)
+
+print( -40019818573920230246248826511203818792007462193311949166285967147
+ & -9487909752)
diff --git a/tests/basics/int_big_or.py b/tests/basics/int_big_or.py
index a279ce742b..0defd984e2 100644
--- a/tests/basics/int_big_or.py
+++ b/tests/basics/int_big_or.py
@@ -2,3 +2,143 @@ print(0 | (1 << 80))
a = 0xfffffffffffffffffffffffffffff
print(a | (1 << 200))
+
+
+# test + +
+
+print(0 | (1 << 80))
+print((1 << 80) | (1 << 80))
+print((1 << 80) | 0)
+
+a = 0xfffffffffffffffffffffffffffff
+print(a | (1 << 100))
+print(a | (1 << 200))
+print(a | a == 0)
+print(bool(a | a))
+
+print( 97989513389222316022151446562729620153292831887555425160965597396
+ | 23716683549865351578586448630079789776107310103486834795830390982)
+
+print( 53817081128841898634258263553430908085326601592682411889506742059
+ | 37042558948907407488299113387826240429667200950043601129661240876)
+
+print( 26167512042587370698808974207700979337713004510730289760097826496
+ | 98456276326770292376138852628141531773120376436197321310863125849)
+
+print( 21085380307304977067262070503651827226504797285572981274069266136
+ | 15928222825828272388778130358888206480162413547887287646273147570)
+
+print( 40827393422334167255488276244226338235131323044408420081160772273
+ | 63815443187857978125545555033672525708399848575557475462799643340)
+
+print( 5181013159871685724135944379095645225188360725917119022722046448
+ | 59734090450462480092384049604830976376887859531148103803093112493)
+
+print( 283894311
+ | 86526825689187217371383854139783231460931720533100376593106943447)
+
+print( 40019818573920230246248826511203818792007462193311949166285967147
+ | 9487909752)
+
+# test - +
+
+print((-1 << 80) | (1 << 80))
+print((-1 << 80) | 0)
+
+print((-a) | (1 << 100))
+print((-a) | (1 << 200))
+print((-a) | a == 0)
+print(bool((-a) | a))
+
+print( -97989513389222316022151446562729620153292831887555425160965597396
+ | 23716683549865351578586448630079789776107310103486834795830390982)
+
+print( -53817081128841898634258263553430908085326601592682411889506742059
+ | 37042558948907407488299113387826240429667200950043601129661240876)
+
+print( -26167512042587370698808974207700979337713004510730289760097826496
+ | 98456276326770292376138852628141531773120376436197321310863125849)
+
+print( -21085380307304977067262070503651827226504797285572981274069266136
+ | 15928222825828272388778130358888206480162413547887287646273147570)
+
+print( -40827393422334167255488276244226338235131323044408420081160772273
+ | 63815443187857978125545555033672525708399848575557475462799643340)
+
+print( -5181013159871685724135944379095645225188360725917119022722046448
+ | 59734090450462480092384049604830976376887859531148103803093112493)
+
+print( -283894311
+ | 86526825689187217371383854139783231460931720533100376593106943447)
+
+print( -40019818573920230246248826511203818792007462193311949166285967147
+ | 9487909752)
+
+# test + -
+
+print(0 | (-1 << 80))
+print((1 << 80) | (-1 << 80))
+
+print(a | (-1 << 100))
+print(a | (-1 << 200))
+print(a | (-a) == 0)
+print(bool(a | (-a)))
+
+print( 97989513389222316022151446562729620153292831887555425160965597396
+ | -23716683549865351578586448630079789776107310103486834795830390982)
+
+print( 53817081128841898634258263553430908085326601592682411889506742059
+ | -37042558948907407488299113387826240429667200950043601129661240876)
+
+print( 26167512042587370698808974207700979337713004510730289760097826496
+ | -98456276326770292376138852628141531773120376436197321310863125849)
+
+print( 21085380307304977067262070503651827226504797285572981274069266136
+ | -15928222825828272388778130358888206480162413547887287646273147570)
+
+print( 40827393422334167255488276244226338235131323044408420081160772273
+ | -63815443187857978125545555033672525708399848575557475462799643340)
+
+print( 5181013159871685724135944379095645225188360725917119022722046448
+ | -59734090450462480092384049604830976376887859531148103803093112493)
+
+print( 283894311
+ | -86526825689187217371383854139783231460931720533100376593106943447)
+
+print( 40019818573920230246248826511203818792007462193311949166285967147
+ | -9487909752)
+
+# test - -
+
+print((-1 << 80) | (-1 << 80))
+
+print((-a) | (-1 << 100))
+print((-a) | (-1 << 200))
+print((-a) | (-a) == 0)
+print(bool((-a) | (-a)))
+
+print( -97989513389222316022151446562729620153292831887555425160965597396
+ | -23716683549865351578586448630079789776107310103486834795830390982)
+
+print( -53817081128841898634258263553430908085326601592682411889506742059
+ | -37042558948907407488299113387826240429667200950043601129661240876)
+
+print( -26167512042587370698808974207700979337713004510730289760097826496
+ | -98456276326770292376138852628141531773120376436197321310863125849)
+
+print( -21085380307304977067262070503651827226504797285572981274069266136
+ | -15928222825828272388778130358888206480162413547887287646273147570)
+
+print( -40827393422334167255488276244226338235131323044408420081160772273
+ | -63815443187857978125545555033672525708399848575557475462799643340)
+
+print( -5181013159871685724135944379095645225188360725917119022722046448
+ | -59734090450462480092384049604830976376887859531148103803093112493)
+
+print( -283894311
+ | -86526825689187217371383854139783231460931720533100376593106943447)
+
+print( -40019818573920230246248826511203818792007462193311949166285967147
+ | -9487909752)
+
+
diff --git a/tests/basics/int_big_xor.py b/tests/basics/int_big_xor.py
index 1c6278b291..f14a763a4d 100644
--- a/tests/basics/int_big_xor.py
+++ b/tests/basics/int_big_xor.py
@@ -1,3 +1,6 @@
+
+# test + +
+
print(0 ^ (1 << 80))
print((1 << 80) ^ (1 << 80))
print((1 << 80) ^ 0)
@@ -7,3 +10,129 @@ print(a ^ (1 << 100))
print(a ^ (1 << 200))
print(a ^ a == 0)
print(bool(a ^ a))
+
+print( 97989513389222316022151446562729620153292831887555425160965597396
+ ^ 23716683549865351578586448630079789776107310103486834795830390982)
+
+print( 53817081128841898634258263553430908085326601592682411889506742059
+ ^ 37042558948907407488299113387826240429667200950043601129661240876)
+
+print( 26167512042587370698808974207700979337713004510730289760097826496
+ ^ 98456276326770292376138852628141531773120376436197321310863125849)
+
+print( 21085380307304977067262070503651827226504797285572981274069266136
+ ^ 15928222825828272388778130358888206480162413547887287646273147570)
+
+print( 40827393422334167255488276244226338235131323044408420081160772273
+ ^ 63815443187857978125545555033672525708399848575557475462799643340)
+
+print( 5181013159871685724135944379095645225188360725917119022722046448
+ ^ 59734090450462480092384049604830976376887859531148103803093112493)
+
+print( 283894311
+ ^ 86526825689187217371383854139783231460931720533100376593106943447)
+
+print( 40019818573920230246248826511203818792007462193311949166285967147
+ ^ 9487909752)
+
+# test - +
+
+print((-1 << 80) ^ (1 << 80))
+print((-1 << 80) ^ 0)
+
+print((-a) ^ (1 << 100))
+print((-a) ^ (1 << 200))
+print((-a) ^ a == 0)
+print(bool((-a) ^ a))
+
+print( -97989513389222316022151446562729620153292831887555425160965597396
+ ^ 23716683549865351578586448630079789776107310103486834795830390982)
+
+print( -53817081128841898634258263553430908085326601592682411889506742059
+ ^ 37042558948907407488299113387826240429667200950043601129661240876)
+
+print( -26167512042587370698808974207700979337713004510730289760097826496
+ ^ 98456276326770292376138852628141531773120376436197321310863125849)
+
+print( -21085380307304977067262070503651827226504797285572981274069266136
+ ^ 15928222825828272388778130358888206480162413547887287646273147570)
+
+print( -40827393422334167255488276244226338235131323044408420081160772273
+ ^ 63815443187857978125545555033672525708399848575557475462799643340)
+
+print( -5181013159871685724135944379095645225188360725917119022722046448
+ ^ 59734090450462480092384049604830976376887859531148103803093112493)
+
+print( -283894311
+ ^ 86526825689187217371383854139783231460931720533100376593106943447)
+
+print( -40019818573920230246248826511203818792007462193311949166285967147
+ ^ 9487909752)
+
+# test + -
+
+print(0 ^ (-1 << 80))
+print((1 << 80) ^ (-1 << 80))
+
+print(a ^ (-1 << 100))
+print(a ^ (-1 << 200))
+print(a ^ (-a) == 0)
+print(bool(a ^ (-a)))
+
+print( 97989513389222316022151446562729620153292831887555425160965597396
+ ^ -23716683549865351578586448630079789776107310103486834795830390982)
+
+print( 53817081128841898634258263553430908085326601592682411889506742059
+ ^ -37042558948907407488299113387826240429667200950043601129661240876)
+
+print( 26167512042587370698808974207700979337713004510730289760097826496
+ ^ -98456276326770292376138852628141531773120376436197321310863125849)
+
+print( 21085380307304977067262070503651827226504797285572981274069266136
+ ^ -15928222825828272388778130358888206480162413547887287646273147570)
+
+print( 40827393422334167255488276244226338235131323044408420081160772273
+ ^ -63815443187857978125545555033672525708399848575557475462799643340)
+
+print( 5181013159871685724135944379095645225188360725917119022722046448
+ ^ -59734090450462480092384049604830976376887859531148103803093112493)
+
+print( 283894311
+ ^ -86526825689187217371383854139783231460931720533100376593106943447)
+
+print( 40019818573920230246248826511203818792007462193311949166285967147
+ ^ -9487909752)
+
+# test - -
+
+print((-1 << 80) ^ (-1 << 80))
+
+print((-a) ^ (-1 << 100))
+print((-a) ^ (-1 << 200))
+print((-a) ^ (-a) == 0)
+print(bool((-a) ^ (-a)))
+
+print( -97989513389222316022151446562729620153292831887555425160965597396
+ ^ -23716683549865351578586448630079789776107310103486834795830390982)
+
+print( -53817081128841898634258263553430908085326601592682411889506742059
+ ^ -37042558948907407488299113387826240429667200950043601129661240876)
+
+print( -26167512042587370698808974207700979337713004510730289760097826496
+ ^ -98456276326770292376138852628141531773120376436197321310863125849)
+
+print( -21085380307304977067262070503651827226504797285572981274069266136
+ ^ -15928222825828272388778130358888206480162413547887287646273147570)
+
+print( -40827393422334167255488276244226338235131323044408420081160772273
+ ^ -63815443187857978125545555033672525708399848575557475462799643340)
+
+print( -5181013159871685724135944379095645225188360725917119022722046448
+ ^ -59734090450462480092384049604830976376887859531148103803093112493)
+
+print( -283894311
+ ^ -86526825689187217371383854139783231460931720533100376593106943447)
+
+print( -40019818573920230246248826511203818792007462193311949166285967147
+ ^ -9487909752)
+
diff --git a/tests/misc/non_compliant.py b/tests/misc/non_compliant.py
index 9c55ac2c38..c760c2accd 100644
--- a/tests/misc/non_compliant.py
+++ b/tests/misc/non_compliant.py
@@ -70,22 +70,3 @@ try:
except NotImplementedError:
print('NotImplementedError')
-mpz = 1 << 70
-
-# mpz and with both args negative
-try:
- -mpz & -2
-except NotImplementedError:
- print('NotImplementedError')
-
-# mpz or with args opposite sign
-try:
- -mpz | 2
-except NotImplementedError:
- print('NotImplementedError')
-
-# mpz xor with args opposite sign
-try:
- -mpz ^ 2
-except NotImplementedError:
- print('NotImplementedError')
diff --git a/tests/misc/non_compliant.py.exp b/tests/misc/non_compliant.py.exp
index 5937ccb2fb..28b1470d7c 100644
--- a/tests/misc/non_compliant.py.exp
+++ b/tests/misc/non_compliant.py.exp
@@ -9,6 +9,3 @@ NotImplementedError
NotImplementedError
NotImplementedError
NotImplementedError
-NotImplementedError
-NotImplementedError
-NotImplementedError