gmp_pow.phpt 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. --TEST--
  2. gmp_pow() basic tests
  3. --EXTENSIONS--
  4. gmp
  5. --FILE--
  6. <?php
  7. var_dump(gmp_strval(gmp_pow(2,10)));
  8. var_dump(gmp_strval(gmp_pow(-2,10)));
  9. var_dump(gmp_strval(gmp_pow(-2,11)));
  10. var_dump(gmp_strval(gmp_pow("2",10)));
  11. var_dump(gmp_strval(gmp_pow("2",0)));
  12. try {
  13. gmp_pow("2", -1);
  14. } catch (ValueError $exception) {
  15. echo $exception->getMessage() . "\n";
  16. }
  17. var_dump(gmp_strval(gmp_pow("-2",10)));
  18. var_dump(gmp_strval(gmp_pow(20,10)));
  19. var_dump(gmp_strval(gmp_pow(50,10)));
  20. try {
  21. gmp_pow(50,-5);
  22. } catch (ValueError $exception) {
  23. echo $exception->getMessage() . "\n";
  24. }
  25. $n = gmp_init("20");
  26. var_dump(gmp_strval(gmp_pow($n,10)));
  27. $n = gmp_init("-20");
  28. var_dump(gmp_strval(gmp_pow($n,10)));
  29. try {
  30. var_dump(gmp_pow(2,array()));
  31. } catch (TypeError $e) {
  32. echo $e->getMessage(), "\n";
  33. }
  34. try {
  35. var_dump(gmp_pow(array(),10));
  36. } catch (\TypeError $e) {
  37. echo $e->getMessage() . \PHP_EOL;
  38. }
  39. echo "Done\n";
  40. ?>
  41. --EXPECT--
  42. string(4) "1024"
  43. string(4) "1024"
  44. string(5) "-2048"
  45. string(4) "1024"
  46. string(1) "1"
  47. gmp_pow(): Argument #2 ($exponent) must be greater than or equal to 0
  48. string(4) "1024"
  49. string(14) "10240000000000"
  50. string(17) "97656250000000000"
  51. gmp_pow(): Argument #2 ($exponent) must be greater than or equal to 0
  52. string(14) "10240000000000"
  53. string(14) "10240000000000"
  54. gmp_pow(): Argument #2 ($exponent) must be of type int, array given
  55. gmp_pow(): Argument #1 ($num) must be of type GMP|string|int, array given
  56. Done