gmp_testbit.phpt 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. --TEST--
  2. gmp_testbit() basic tests
  3. --SKIPIF--
  4. <?php if (!extension_loaded("gmp")) print "skip"; ?>
  5. --FILE--
  6. <?php
  7. var_dump(gmp_testbit());
  8. $n = gmp_init(0);
  9. var_dump(gmp_testbit($n, -10));
  10. var_dump(gmp_testbit($n, 0));
  11. var_dump(gmp_testbit($n, 1));
  12. var_dump(gmp_testbit($n, 100));
  13. $n = gmp_init(-1);
  14. var_dump(gmp_testbit($n, 1));
  15. var_dump(gmp_testbit($n, -1));
  16. $n = gmp_init("1000000");
  17. var_dump(gmp_testbit($n, 1));
  18. gmp_setbit($n, 1);
  19. var_dump(gmp_testbit($n, 1));
  20. var_dump(gmp_strval($n));
  21. gmp_setbit($n, 5);
  22. var_dump(gmp_testbit($n, 5));
  23. var_dump(gmp_strval($n));
  24. $n = gmp_init("238462734628347239571823641234");
  25. var_dump(gmp_testbit($n, 5));
  26. gmp_setbit($n, 5);
  27. var_dump(gmp_testbit($n, 5));
  28. var_dump(gmp_strval($n));
  29. gmp_clrbit($n, 5);
  30. var_dump(gmp_testbit($n, 5));
  31. var_dump(gmp_strval($n));
  32. echo "Done\n";
  33. ?>
  34. --EXPECTF--
  35. Warning: gmp_testbit() expects exactly 2 parameters, 0 given in %s on line %d
  36. NULL
  37. Warning: gmp_testbit(): Index must be greater than or equal to zero in %s on line %d
  38. bool(false)
  39. bool(false)
  40. bool(false)
  41. bool(false)
  42. bool(true)
  43. Warning: gmp_testbit(): Index must be greater than or equal to zero in %s on line %d
  44. bool(false)
  45. bool(false)
  46. bool(true)
  47. string(7) "1000002"
  48. bool(true)
  49. string(7) "1000034"
  50. bool(false)
  51. bool(true)
  52. string(30) "238462734628347239571823641266"
  53. bool(false)
  54. string(30) "238462734628347239571823641234"
  55. Done