123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- --TEST--
- gmp_powm() basic tests
- --EXTENSIONS--
- gmp
- --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)));
- try {
- var_dump(gmp_powm(5, 11, 0));
- } catch (\DivisionByZeroError $error) {
- echo $error->getMessage() . \PHP_EOL;
- }
- try {
- var_dump(gmp_powm(5, "11", gmp_init(0)));
- } catch (\DivisionByZeroError $error) {
- echo $error->getMessage() . \PHP_EOL;
- }
- try {
- var_dump(gmp_powm(array(),$e,$m));
- } catch (\TypeError $error) {
- echo $error->getMessage() . \PHP_EOL;
- }
- try {
- var_dump(gmp_powm($n,array(),$m));
- } catch (\TypeError $error) {
- echo $error->getMessage() . \PHP_EOL;
- }
- try {
- var_dump(gmp_powm($n,$error,array()));
- } catch (\TypeError $error) {
- echo $error->getMessage() . \PHP_EOL;
- }
- try {
- var_dump(gmp_powm(array(),array(),array()));
- } catch (\TypeError $error) {
- echo $error->getMessage() . \PHP_EOL;
- }
- try {
- $n = gmp_init("-5");
- var_dump(gmp_powm(10, $n, 10));
- } catch (\ValueError $error) {
- echo $error->getMessage() . \PHP_EOL;
- }
- $n = gmp_init("0");
- var_dump(gmp_powm(10, $n, 10));
- echo "Done\n";
- ?>
- --EXPECT--
- 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"
- Modulo by zero
- Modulo by zero
- gmp_powm(): Argument #1 ($num) must be of type GMP|string|int, array given
- gmp_powm(): Argument #2 ($exponent) must be of type GMP|string|int, array given
- gmp_powm(): Argument #2 ($exponent) must be of type GMP|string|int, TypeError given
- gmp_powm(): Argument #1 ($num) must be of type GMP|string|int, array given
- gmp_powm(): Argument #2 ($exponent) must be greater than or equal to 0
- object(GMP)#6 (1) {
- ["num"]=>
- string(1) "1"
- }
- Done
|