diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/expression/expression.py | 14 | ||||
| -rw-r--r-- | test/expression/modint.py | 15 |
2 files changed, 28 insertions, 1 deletions
diff --git a/test/expression/expression.py b/test/expression/expression.py index 58c0ca37..8e8b5e07 100644 --- a/test/expression/expression.py +++ b/test/expression/expression.py @@ -51,3 +51,17 @@ for expr in [ print "For value %s" % consval.value for constraint in consval.constraints: print "\t%s" % constraint.to_constraint() + +# Repr +for expr in [ + cst1, + A, + ExprMem(cst1, 32), + ExprCond(cond1, cst1, cst2), + A + cst1, + ExprCompose(A, cst1), + A.msb(), + ExprAff(A, cst1), +]: + print repr(expr) + assert expr == eval(repr(expr)) diff --git a/test/expression/modint.py b/test/expression/modint.py index e7c19d0c..17c12907 100644 --- a/test/expression/modint.py +++ b/test/expression/modint.py @@ -8,7 +8,7 @@ d = uint1(0) e = uint1(1) f = uint8(0x1) - +g = int8(-3) print a, b, c print a + b, a + c, b + c @@ -53,7 +53,20 @@ assert(f ^ f == 0) assert(f ^ 0 == f) assert(0 ^ f == f) assert(1 ^ f == 0) +assert(c / g == -1) +assert(c / -3 == -1) +assert(c % g == 1) +assert(c % -3 == 1) print e + c, c + e, c - e, e - c print 1000 * a print hex(a) + +define_int(128) +define_uint(128) +h = uint128(0x11223344556677889900AABBCCDDEEFF) +i = int128(-0x9900AABBCCDDEEFF1122334455667788) + +assert(i / h == 6) +assert(i % h == 0x3221aa32bb43cd58d9cc54dd65ee7e) + |