bug52906.phpt 694 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. --TEST--
  2. Bug #52906 gmp_mod returns negative result when non-negative is expected
  3. --EXTENSIONS--
  4. gmp
  5. --FILE--
  6. <?php
  7. $vals = array(
  8. array(7, 3),
  9. array(2, 7),
  10. array(12, 7),
  11. array(-2, 7),
  12. array(-12, 7),
  13. array(2, -7),
  14. array(12, -7),
  15. array(-2, -7),
  16. array(-12, -7),
  17. );
  18. foreach($vals as $data) {
  19. echo "{$data[0]}%{$data[1]}=".gmp_strval(gmp_mod($data[0], $data[1]));
  20. echo "\n";
  21. echo "{$data[0]}%{$data[1]}=".gmp_strval(gmp_mod(gmp_init($data[0]), gmp_init($data[1])));
  22. echo "\n";
  23. }
  24. echo "Done\n";
  25. ?>
  26. --EXPECT--
  27. 7%3=1
  28. 7%3=1
  29. 2%7=2
  30. 2%7=2
  31. 12%7=5
  32. 12%7=5
  33. -2%7=5
  34. -2%7=5
  35. -12%7=2
  36. -12%7=2
  37. 2%-7=2
  38. 2%-7=2
  39. 12%-7=5
  40. 12%-7=5
  41. -2%-7=5
  42. -2%-7=5
  43. -12%-7=2
  44. -12%-7=2
  45. Done