summaryrefslogtreecommitdiff
path: root/ext/gmp/tests/gmp_pown.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/gmp/tests/gmp_pown.phpt')
-rw-r--r--ext/gmp/tests/gmp_pown.phpt85
1 files changed, 85 insertions, 0 deletions
diff --git a/ext/gmp/tests/gmp_pown.phpt b/ext/gmp/tests/gmp_pown.phpt
new file mode 100644
index 000000000..f5857b699
--- /dev/null
+++ b/ext/gmp/tests/gmp_pown.phpt
@@ -0,0 +1,85 @@
+--TEST--
+gmp_powm() basic tests
+--SKIPIF--
+<?php if (!extension_loaded("gmp")) print "skip"; ?>
+--FILE--
+<?php
+
+var_dump(gmp_strval(gmp_powm(0,1,10)));
+var_dump(gmp_strval(gmp_powm(5,1,10)));
+var_dump(gmp_strval(gmp_powm(-5,1,-10)));
+var_dump(gmp_strval(gmp_powm(-5,1,10)));
+var_dump(gmp_strval(gmp_powm(-5,11,10)));
+var_dump(gmp_strval(gmp_powm("77",3,1000)));
+
+$n = gmp_init(11);
+var_dump(gmp_strval(gmp_powm($n,3,1000)));
+$e = gmp_init(7);
+var_dump(gmp_strval(gmp_powm($n,$e,1000)));
+$m = gmp_init(900);
+var_dump(gmp_strval(gmp_powm($n,$e,$m)));
+
+var_dump(gmp_powm(5, 11, 0));
+var_dump(gmp_powm(5, "11", gmp_init(0)));
+
+var_dump(gmp_powm(array(),$e,$m));
+var_dump(gmp_powm($n,array(),$m));
+var_dump(gmp_powm($n,$e,array()));
+var_dump(gmp_powm(array(),array(),array()));
+var_dump(gmp_powm(array(),array()));
+var_dump(gmp_powm(array()));
+var_dump(gmp_powm());
+
+$n = gmp_init("-5");
+var_dump(gmp_powm(10, $n, 10));
+
+$n = gmp_init("0");
+var_dump(gmp_powm(10, $n, 10));
+
+echo "Done\n";
+?>
+--EXPECTF--
+string(1) "0"
+string(1) "5"
+string(1) "5"
+string(1) "5"
+string(1) "5"
+string(3) "533"
+string(3) "331"
+string(3) "171"
+string(3) "371"
+
+Warning: gmp_powm(): Modulus may not be zero in %s on line %d
+bool(false)
+
+Warning: gmp_powm(): Modulus may not be zero in %s on line %d
+bool(false)
+
+Warning: gmp_powm(): Unable to convert variable to GMP - wrong type in %s on line %d
+bool(false)
+
+Warning: gmp_powm(): Unable to convert variable to GMP - wrong type in %s on line %d
+bool(false)
+
+Warning: gmp_powm(): Unable to convert variable to GMP - wrong type in %s on line %d
+bool(false)
+
+Warning: gmp_powm(): Unable to convert variable to GMP - wrong type in %s on line %d
+bool(false)
+
+Warning: gmp_powm() expects exactly 3 parameters, 2 given in %s on line %d
+NULL
+
+Warning: gmp_powm() expects exactly 3 parameters, 1 given in %s on line %d
+NULL
+
+Warning: gmp_powm() expects exactly 3 parameters, 0 given in %s on line %d
+NULL
+
+Warning: gmp_powm(): Second parameter cannot be less than 0 in %s on line %d
+bool(false)
+object(GMP)#%d (1) {
+ ["num"]=>
+ string(1) "1"
+}
+Done