gmp_setbit.phpt 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. --TEST--
  2. gmp_setbit() basic tests
  3. --SKIPIF--
  4. <?php if (!extension_loaded("gmp")) print "skip"; ?>
  5. --FILE--
  6. <?php
  7. $n = gmp_init(-1);
  8. gmp_setbit($n, 10, -1);
  9. var_dump(gmp_strval($n));
  10. $n = gmp_init(5);
  11. gmp_setbit($n, -20, 0);
  12. var_dump(gmp_strval($n));
  13. $n = gmp_init(5);
  14. gmp_setbit($n, 2, 0);
  15. var_dump(gmp_strval($n));
  16. $n = gmp_init(5);
  17. gmp_setbit($n, 1, 1);
  18. var_dump(gmp_strval($n));
  19. $n = gmp_init("100000000000");
  20. gmp_setbit($n, 23, 1);
  21. var_dump(gmp_strval($n));
  22. gmp_setbit($n, 23, 0);
  23. var_dump(gmp_strval($n));
  24. gmp_setbit($n, 3);
  25. var_dump(gmp_strval($n));
  26. $b = "";
  27. gmp_setbit($b, 23);
  28. gmp_setbit($b);
  29. gmp_setbit($b, 23,1,1);
  30. gmp_setbit($b,array());
  31. $a = array();
  32. gmp_setbit($a,array());
  33. echo "Done\n";
  34. ?>
  35. --EXPECTF--
  36. string(2) "-1"
  37. Warning: gmp_setbit(): Index must be greater than or equal to zero in %s on line %d
  38. string(1) "5"
  39. string(1) "1"
  40. string(1) "7"
  41. string(12) "100008388608"
  42. string(12) "100000000000"
  43. string(12) "100000000008"
  44. Warning: gmp_setbit() expects parameter 1 to be GMP, string given in %s on line %d
  45. Warning: gmp_setbit() expects at least 2 parameters, 1 given in %s on line %d
  46. Warning: gmp_setbit() expects at most 3 parameters, 4 given in %s on line %d
  47. Warning: gmp_setbit() expects parameter 1 to be GMP, string given in %s on line %d
  48. Warning: gmp_setbit() expects parameter 1 to be GMP, array given in %s on line %d
  49. Done