summaryrefslogtreecommitdiff
path: root/ext/gmp/tests/gmp_divexact.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/gmp/tests/gmp_divexact.phpt')
-rw-r--r--ext/gmp/tests/gmp_divexact.phpt56
1 files changed, 56 insertions, 0 deletions
diff --git a/ext/gmp/tests/gmp_divexact.phpt b/ext/gmp/tests/gmp_divexact.phpt
new file mode 100644
index 000000000..a42c1b6b4
--- /dev/null
+++ b/ext/gmp/tests/gmp_divexact.phpt
@@ -0,0 +1,56 @@
+--TEST--
+gmp_divexact() tests
+--SKIPIF--
+<?php
+if (!extension_loaded("gmp")) die ("skip");
+if (!defined('GMP_VERSION') || version_compare("4.2.1", GMP_VERSION, ">=")) {
+ die("skip your GMP is too old and will crash");
+}
+?>
+--FILE--
+<?php
+
+var_dump(gmp_divexact(1, 1, 1));
+var_dump(gmp_divexact());
+
+$r = gmp_divexact("233", "23345555555555555555555555");
+var_dump(gmp_strval($r));
+
+$r = gmp_divexact("233", "0");
+var_dump(gmp_strval($r));
+
+$r = gmp_divexact("100", "10");
+var_dump(gmp_strval($r));
+
+$r = gmp_divexact("1024", "2");
+var_dump(gmp_strval($r));
+
+$n = gmp_init("10000000000000000000");
+$r = gmp_divexact($n, "2");
+var_dump(gmp_strval($r));
+
+$r = gmp_divexact($n, "50");
+var_dump(gmp_strval($r));
+
+$n1 = gmp_init("-100000000000000000000000000");
+$r = gmp_divexact($n1, $n);
+var_dump(gmp_strval($r));
+
+echo "Done\n";
+?>
+--EXPECTF--
+Warning: gmp_divexact() expects exactly 2 parameters, 3 given in %s on line %d
+NULL
+
+Warning: gmp_divexact() expects exactly 2 parameters, 0 given in %s on line %d
+NULL
+string(1) "0"
+
+Warning: gmp_divexact(): Zero operand not allowed in %s on line %d
+string(1) "0"
+string(2) "10"
+string(3) "512"
+string(19) "5000000000000000000"
+string(18) "200000000000000000"
+string(9) "-10000000"
+Done