summaryrefslogtreecommitdiff
path: root/tests/micropython/viper_binop_arith_uint.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/micropython/viper_binop_arith_uint.py')
-rw-r--r--tests/micropython/viper_binop_arith_uint.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/tests/micropython/viper_binop_arith_uint.py b/tests/micropython/viper_binop_arith_uint.py
new file mode 100644
index 000000000..e4270a10a
--- /dev/null
+++ b/tests/micropython/viper_binop_arith_uint.py
@@ -0,0 +1,32 @@
+# test arithmetic operators with uint type
+
+
+@micropython.viper
+def add(x: uint, y: uint):
+ return x + y, y + x
+
+
+print("add")
+print(*add(1, 2))
+print(*(x & 0xFFFFFFFF for x in add(-1, -2)))
+
+
+@micropython.viper
+def sub(x: uint, y: uint):
+ return x - y, y - x
+
+
+print("sub")
+print(*(x & 0xFFFFFFFF for x in sub(1, 2)))
+print(*(x & 0xFFFFFFFF for x in sub(-1, -2)))
+
+
+@micropython.viper
+def mul(x: uint, y: uint):
+ return x * y, y * x
+
+
+print("mul")
+print(*mul(2, 3))
+print(*(x & 0xFFFFFFFF for x in mul(2, -3)))
+print(*mul(-2, -3))