gmp_divexact.phpt 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. --TEST--
  2. gmp_divexact() tests
  3. --SKIPIF--
  4. <?php
  5. if (!extension_loaded("gmp")) die ("skip");
  6. if (!defined('GMP_VERSION') || version_compare("4.2.1", GMP_VERSION, ">=")) {
  7. die("skip your GMP is too old and will crash");
  8. }
  9. ?>
  10. --FILE--
  11. <?php
  12. var_dump(gmp_divexact(1, 1, 1));
  13. var_dump(gmp_divexact());
  14. $r = gmp_divexact("233", "23345555555555555555555555");
  15. var_dump(gmp_strval($r));
  16. $r = gmp_divexact("233", "0");
  17. var_dump(gmp_strval($r));
  18. $r = gmp_divexact("100", "10");
  19. var_dump(gmp_strval($r));
  20. $r = gmp_divexact("1024", "2");
  21. var_dump(gmp_strval($r));
  22. $n = gmp_init("10000000000000000000");
  23. $r = gmp_divexact($n, "2");
  24. var_dump(gmp_strval($r));
  25. $r = gmp_divexact($n, "50");
  26. var_dump(gmp_strval($r));
  27. $n1 = gmp_init("-100000000000000000000000000");
  28. $r = gmp_divexact($n1, $n);
  29. var_dump(gmp_strval($r));
  30. echo "Done\n";
  31. ?>
  32. --EXPECTF--
  33. Warning: gmp_divexact() expects exactly 2 parameters, 3 given in %s on line %d
  34. NULL
  35. Warning: gmp_divexact() expects exactly 2 parameters, 0 given in %s on line %d
  36. NULL
  37. string(1) "0"
  38. Warning: gmp_divexact(): Zero operand not allowed in %s on line %d
  39. string(1) "0"
  40. string(2) "10"
  41. string(3) "512"
  42. string(19) "5000000000000000000"
  43. string(18) "200000000000000000"
  44. string(9) "-10000000"
  45. Done