--TEST-- gmp_powm() basic tests --SKIPIF-- --FILE-- 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