gmp_pown.phpt 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. --TEST--
  2. gmp_powm() basic tests
  3. --SKIPIF--
  4. <?php if (!extension_loaded("gmp")) print "skip"; ?>
  5. --FILE--
  6. <?php
  7. var_dump(gmp_strval(gmp_powm(0,1,10)));
  8. var_dump(gmp_strval(gmp_powm(5,1,10)));
  9. var_dump(gmp_strval(gmp_powm(-5,1,-10)));
  10. var_dump(gmp_strval(gmp_powm(-5,1,10)));
  11. var_dump(gmp_strval(gmp_powm(-5,11,10)));
  12. var_dump(gmp_strval(gmp_powm("77",3,1000)));
  13. $n = gmp_init(11);
  14. var_dump(gmp_strval(gmp_powm($n,3,1000)));
  15. $e = gmp_init(7);
  16. var_dump(gmp_strval(gmp_powm($n,$e,1000)));
  17. $m = gmp_init(900);
  18. var_dump(gmp_strval(gmp_powm($n,$e,$m)));
  19. var_dump(gmp_powm(5, 11, 0));
  20. var_dump(gmp_powm(5, "11", gmp_init(0)));
  21. var_dump(gmp_powm(array(),$e,$m));
  22. var_dump(gmp_powm($n,array(),$m));
  23. var_dump(gmp_powm($n,$e,array()));
  24. var_dump(gmp_powm(array(),array(),array()));
  25. var_dump(gmp_powm(array(),array()));
  26. var_dump(gmp_powm(array()));
  27. var_dump(gmp_powm());
  28. $n = gmp_init("-5");
  29. var_dump(gmp_powm(10, $n, 10));
  30. $n = gmp_init("0");
  31. var_dump(gmp_powm(10, $n, 10));
  32. echo "Done\n";
  33. ?>
  34. --EXPECTF--
  35. string(1) "0"
  36. string(1) "5"
  37. string(1) "5"
  38. string(1) "5"
  39. string(1) "5"
  40. string(3) "533"
  41. string(3) "331"
  42. string(3) "171"
  43. string(3) "371"
  44. Warning: gmp_powm(): Modulus may not be zero in %s on line %d
  45. bool(false)
  46. Warning: gmp_powm(): Modulus may not be zero in %s on line %d
  47. bool(false)
  48. Warning: gmp_powm(): Unable to convert variable to GMP - wrong type in %s on line %d
  49. bool(false)
  50. Warning: gmp_powm(): Unable to convert variable to GMP - wrong type in %s on line %d
  51. bool(false)
  52. Warning: gmp_powm(): Unable to convert variable to GMP - wrong type in %s on line %d
  53. bool(false)
  54. Warning: gmp_powm(): Unable to convert variable to GMP - wrong type in %s on line %d
  55. bool(false)
  56. Warning: gmp_powm() expects exactly 3 parameters, 2 given in %s on line %d
  57. NULL
  58. Warning: gmp_powm() expects exactly 3 parameters, 1 given in %s on line %d
  59. NULL
  60. Warning: gmp_powm() expects exactly 3 parameters, 0 given in %s on line %d
  61. NULL
  62. Warning: gmp_powm(): Second parameter cannot be less than 0 in %s on line %d
  63. bool(false)
  64. object(GMP)#%d (1) {
  65. ["num"]=>
  66. string(1) "1"
  67. }
  68. Done