gmp_fact.phpt 1.5 KB

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