summaryrefslogtreecommitdiffstatshomepage
path: root/tests/basics/int_divmod.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/basics/int_divmod.py')
-rw-r--r--tests/basics/int_divmod.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/basics/int_divmod.py b/tests/basics/int_divmod.py
new file mode 100644
index 0000000000..71a990823e
--- /dev/null
+++ b/tests/basics/int_divmod.py
@@ -0,0 +1,21 @@
+# test integer floor division and modulo
+
+# test all combination of +/-/0 cases
+for i in range(-2, 3):
+ for j in range(-4, 5):
+ if j != 0:
+ print(i, j, i // j, i % j, divmod(i, j))
+
+# this tests compiler constant folding
+print(123 // 7, 123 % 7)
+print(-123 // 7, -123 % 7)
+print(123 // -7, 123 % -7)
+print(-123 // -7, -123 % -7)
+
+# this tests bignum modulo
+a = 987654321987987987987987987987
+b = 19
+print(a % b)
+print(a % -b)
+print(-a % b)
+print(-a % -b)