gmp_sqrt.phpt 1.1 KB

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