gmp_testbit.phpt 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. --TEST--
  2. gmp_testbit() basic tests
  3. --EXTENSIONS--
  4. gmp
  5. --FILE--
  6. <?php
  7. $n = gmp_init(0);
  8. try {
  9. var_dump(gmp_testbit($n, -10));
  10. } catch (\ValueError $e) {
  11. echo $e->getMessage() . \PHP_EOL;
  12. }
  13. var_dump(gmp_testbit($n, 0));
  14. var_dump(gmp_testbit($n, 1));
  15. var_dump(gmp_testbit($n, 100));
  16. $n = gmp_init(-1);
  17. var_dump(gmp_testbit($n, 1));
  18. try {
  19. var_dump(gmp_testbit($n, -1));
  20. } catch (\ValueError $e) {
  21. echo $e->getMessage() . \PHP_EOL;
  22. }
  23. $n = gmp_init("1000000");
  24. var_dump(gmp_testbit($n, 1));
  25. gmp_setbit($n, 1);
  26. var_dump(gmp_testbit($n, 1));
  27. var_dump(gmp_strval($n));
  28. gmp_setbit($n, 5);
  29. var_dump(gmp_testbit($n, 5));
  30. var_dump(gmp_strval($n));
  31. $n = gmp_init("238462734628347239571823641234");
  32. var_dump(gmp_testbit($n, 5));
  33. gmp_setbit($n, 5);
  34. var_dump(gmp_testbit($n, 5));
  35. var_dump(gmp_strval($n));
  36. gmp_clrbit($n, 5);
  37. var_dump(gmp_testbit($n, 5));
  38. var_dump(gmp_strval($n));
  39. echo "Done\n";
  40. ?>
  41. --EXPECT--
  42. gmp_testbit(): Argument #2 ($index) must be greater than or equal to 0
  43. bool(false)
  44. bool(false)
  45. bool(false)
  46. bool(true)
  47. gmp_testbit(): Argument #2 ($index) must be greater than or equal to 0
  48. bool(false)
  49. bool(true)
  50. string(7) "1000002"
  51. bool(true)
  52. string(7) "1000034"
  53. bool(false)
  54. bool(true)
  55. string(30) "238462734628347239571823641266"
  56. bool(false)
  57. string(30) "238462734628347239571823641234"
  58. Done