diff options
| author | Damien George | 2020-06-26 18:26:39 +1000 |
|---|---|---|
| committer | Damien George | 2020-06-27 00:24:04 +1000 |
| commit | 41fa8b5482089bdd7fa5478fe24f32913b23967c (patch) | |
| tree | 25efbc78d3b14a448882d4a7a503ddd4d7efcf47 /tests/micropython/viper_binop_comp_uint.py | |
| parent | b3b8706d27cffbfc4cdd447b204ae7083283d13c (diff) | |
py/emitnative: Implement binary operations for viper uint operands.
uint types in viper mode can now be used for all binary operators except
floor-divide and modulo.
Fixes issue #1847 and issue #6177.
Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'tests/micropython/viper_binop_comp_uint.py')
| -rw-r--r-- | tests/micropython/viper_binop_comp_uint.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/micropython/viper_binop_comp_uint.py b/tests/micropython/viper_binop_comp_uint.py new file mode 100644 index 000000000..85aa32c78 --- /dev/null +++ b/tests/micropython/viper_binop_comp_uint.py @@ -0,0 +1,31 @@ +# test comparison operators with uint type + + +@micropython.viper +def f(x: uint, y: uint): + if x < y: + print(" <", end="") + if x > y: + print(" >", end="") + if x == y: + print(" ==", end="") + if x <= y: + print(" <=", end="") + if x >= y: + print(" >=", end="") + if x != y: + print(" !=", end="") + + +def test(a, b): + print(a, b, end="") + f(a, b) + print() + + +test(1, 1) +test(2, 1) +test(1, 2) +test(2, -1) +test(-2, 1) +test(-2, -1) |
