gmp_arginfo.h 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319
  1. /* This is a generated file, edit the .stub.php file instead.
  2. * Stub hash: be077a57bc9ddbb9100fadfb212857c0b8f21ebf */
  3. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_gmp_init, 0, 1, GMP, 0)
  4. ZEND_ARG_TYPE_MASK(0, num, MAY_BE_LONG|MAY_BE_STRING, NULL)
  5. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, base, IS_LONG, 0, "0")
  6. ZEND_END_ARG_INFO()
  7. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_gmp_import, 0, 1, GMP, 0)
  8. ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
  9. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, word_size, IS_LONG, 0, "1")
  10. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "GMP_MSW_FIRST | GMP_NATIVE_ENDIAN")
  11. ZEND_END_ARG_INFO()
  12. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_gmp_export, 0, 1, IS_STRING, 0)
  13. ZEND_ARG_OBJ_TYPE_MASK(0, num, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  14. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, word_size, IS_LONG, 0, "1")
  15. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, flags, IS_LONG, 0, "GMP_MSW_FIRST | GMP_NATIVE_ENDIAN")
  16. ZEND_END_ARG_INFO()
  17. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_gmp_intval, 0, 1, IS_LONG, 0)
  18. ZEND_ARG_OBJ_TYPE_MASK(0, num, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  19. ZEND_END_ARG_INFO()
  20. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_gmp_strval, 0, 1, IS_STRING, 0)
  21. ZEND_ARG_OBJ_TYPE_MASK(0, num, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  22. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, base, IS_LONG, 0, "10")
  23. ZEND_END_ARG_INFO()
  24. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_gmp_add, 0, 2, GMP, 0)
  25. ZEND_ARG_OBJ_TYPE_MASK(0, num1, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  26. ZEND_ARG_OBJ_TYPE_MASK(0, num2, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  27. ZEND_END_ARG_INFO()
  28. #define arginfo_gmp_sub arginfo_gmp_add
  29. #define arginfo_gmp_mul arginfo_gmp_add
  30. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_gmp_div_qr, 0, 2, IS_ARRAY, 0)
  31. ZEND_ARG_OBJ_TYPE_MASK(0, num1, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  32. ZEND_ARG_OBJ_TYPE_MASK(0, num2, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  33. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, rounding_mode, IS_LONG, 0, "GMP_ROUND_ZERO")
  34. ZEND_END_ARG_INFO()
  35. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_gmp_div_q, 0, 2, GMP, 0)
  36. ZEND_ARG_OBJ_TYPE_MASK(0, num1, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  37. ZEND_ARG_OBJ_TYPE_MASK(0, num2, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  38. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, rounding_mode, IS_LONG, 0, "GMP_ROUND_ZERO")
  39. ZEND_END_ARG_INFO()
  40. #define arginfo_gmp_div_r arginfo_gmp_div_q
  41. #define arginfo_gmp_div arginfo_gmp_div_q
  42. #define arginfo_gmp_mod arginfo_gmp_add
  43. #define arginfo_gmp_divexact arginfo_gmp_add
  44. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_gmp_neg, 0, 1, GMP, 0)
  45. ZEND_ARG_OBJ_TYPE_MASK(0, num, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  46. ZEND_END_ARG_INFO()
  47. #define arginfo_gmp_abs arginfo_gmp_neg
  48. #define arginfo_gmp_fact arginfo_gmp_neg
  49. #define arginfo_gmp_sqrt arginfo_gmp_neg
  50. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_gmp_sqrtrem, 0, 1, IS_ARRAY, 0)
  51. ZEND_ARG_OBJ_TYPE_MASK(0, num, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  52. ZEND_END_ARG_INFO()
  53. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_gmp_root, 0, 2, GMP, 0)
  54. ZEND_ARG_OBJ_TYPE_MASK(0, num, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  55. ZEND_ARG_TYPE_INFO(0, nth, IS_LONG, 0)
  56. ZEND_END_ARG_INFO()
  57. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_gmp_rootrem, 0, 2, IS_ARRAY, 0)
  58. ZEND_ARG_OBJ_TYPE_MASK(0, num, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  59. ZEND_ARG_TYPE_INFO(0, nth, IS_LONG, 0)
  60. ZEND_END_ARG_INFO()
  61. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_gmp_pow, 0, 2, GMP, 0)
  62. ZEND_ARG_OBJ_TYPE_MASK(0, num, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  63. ZEND_ARG_TYPE_INFO(0, exponent, IS_LONG, 0)
  64. ZEND_END_ARG_INFO()
  65. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_gmp_powm, 0, 3, GMP, 0)
  66. ZEND_ARG_OBJ_TYPE_MASK(0, num, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  67. ZEND_ARG_OBJ_TYPE_MASK(0, exponent, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  68. ZEND_ARG_OBJ_TYPE_MASK(0, modulus, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  69. ZEND_END_ARG_INFO()
  70. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_gmp_perfect_square, 0, 1, _IS_BOOL, 0)
  71. ZEND_ARG_OBJ_TYPE_MASK(0, num, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  72. ZEND_END_ARG_INFO()
  73. #define arginfo_gmp_perfect_power arginfo_gmp_perfect_square
  74. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_gmp_prob_prime, 0, 1, IS_LONG, 0)
  75. ZEND_ARG_OBJ_TYPE_MASK(0, num, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  76. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, repetitions, IS_LONG, 0, "10")
  77. ZEND_END_ARG_INFO()
  78. #define arginfo_gmp_gcd arginfo_gmp_add
  79. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_gmp_gcdext, 0, 2, IS_ARRAY, 0)
  80. ZEND_ARG_OBJ_TYPE_MASK(0, num1, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  81. ZEND_ARG_OBJ_TYPE_MASK(0, num2, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  82. ZEND_END_ARG_INFO()
  83. #define arginfo_gmp_lcm arginfo_gmp_add
  84. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_gmp_invert, 0, 2, GMP, MAY_BE_FALSE)
  85. ZEND_ARG_OBJ_TYPE_MASK(0, num1, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  86. ZEND_ARG_OBJ_TYPE_MASK(0, num2, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  87. ZEND_END_ARG_INFO()
  88. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_gmp_jacobi, 0, 2, IS_LONG, 0)
  89. ZEND_ARG_OBJ_TYPE_MASK(0, num1, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  90. ZEND_ARG_OBJ_TYPE_MASK(0, num2, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  91. ZEND_END_ARG_INFO()
  92. #define arginfo_gmp_legendre arginfo_gmp_jacobi
  93. #define arginfo_gmp_kronecker arginfo_gmp_jacobi
  94. #define arginfo_gmp_cmp arginfo_gmp_jacobi
  95. #define arginfo_gmp_sign arginfo_gmp_intval
  96. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_gmp_random_seed, 0, 1, IS_VOID, 0)
  97. ZEND_ARG_OBJ_TYPE_MASK(0, seed, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  98. ZEND_END_ARG_INFO()
  99. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_gmp_random_bits, 0, 1, GMP, 0)
  100. ZEND_ARG_TYPE_INFO(0, bits, IS_LONG, 0)
  101. ZEND_END_ARG_INFO()
  102. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_gmp_random_range, 0, 2, GMP, 0)
  103. ZEND_ARG_OBJ_TYPE_MASK(0, min, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  104. ZEND_ARG_OBJ_TYPE_MASK(0, max, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  105. ZEND_END_ARG_INFO()
  106. #define arginfo_gmp_and arginfo_gmp_add
  107. #define arginfo_gmp_or arginfo_gmp_add
  108. #define arginfo_gmp_com arginfo_gmp_neg
  109. #define arginfo_gmp_xor arginfo_gmp_add
  110. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_gmp_setbit, 0, 2, IS_VOID, 0)
  111. ZEND_ARG_OBJ_INFO(0, num, GMP, 0)
  112. ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0)
  113. ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, value, _IS_BOOL, 0, "true")
  114. ZEND_END_ARG_INFO()
  115. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_gmp_clrbit, 0, 2, IS_VOID, 0)
  116. ZEND_ARG_OBJ_INFO(0, num, GMP, 0)
  117. ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0)
  118. ZEND_END_ARG_INFO()
  119. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_gmp_testbit, 0, 2, _IS_BOOL, 0)
  120. ZEND_ARG_OBJ_TYPE_MASK(0, num, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  121. ZEND_ARG_TYPE_INFO(0, index, IS_LONG, 0)
  122. ZEND_END_ARG_INFO()
  123. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_gmp_scan0, 0, 2, IS_LONG, 0)
  124. ZEND_ARG_OBJ_TYPE_MASK(0, num1, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  125. ZEND_ARG_TYPE_INFO(0, start, IS_LONG, 0)
  126. ZEND_END_ARG_INFO()
  127. #define arginfo_gmp_scan1 arginfo_gmp_scan0
  128. #define arginfo_gmp_popcount arginfo_gmp_intval
  129. #define arginfo_gmp_hamdist arginfo_gmp_jacobi
  130. #define arginfo_gmp_nextprime arginfo_gmp_neg
  131. ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_gmp_binomial, 0, 2, GMP, 0)
  132. ZEND_ARG_OBJ_TYPE_MASK(0, n, GMP, MAY_BE_LONG|MAY_BE_STRING, NULL)
  133. ZEND_ARG_TYPE_INFO(0, k, IS_LONG, 0)
  134. ZEND_END_ARG_INFO()
  135. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_GMP___serialize, 0, 0, IS_ARRAY, 0)
  136. ZEND_END_ARG_INFO()
  137. ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_class_GMP___unserialize, 0, 1, IS_VOID, 0)
  138. ZEND_ARG_TYPE_INFO(0, data, IS_ARRAY, 0)
  139. ZEND_END_ARG_INFO()
  140. ZEND_FUNCTION(gmp_init);
  141. ZEND_FUNCTION(gmp_import);
  142. ZEND_FUNCTION(gmp_export);
  143. ZEND_FUNCTION(gmp_intval);
  144. ZEND_FUNCTION(gmp_strval);
  145. ZEND_FUNCTION(gmp_add);
  146. ZEND_FUNCTION(gmp_sub);
  147. ZEND_FUNCTION(gmp_mul);
  148. ZEND_FUNCTION(gmp_div_qr);
  149. ZEND_FUNCTION(gmp_div_q);
  150. ZEND_FUNCTION(gmp_div_r);
  151. ZEND_FUNCTION(gmp_mod);
  152. ZEND_FUNCTION(gmp_divexact);
  153. ZEND_FUNCTION(gmp_neg);
  154. ZEND_FUNCTION(gmp_abs);
  155. ZEND_FUNCTION(gmp_fact);
  156. ZEND_FUNCTION(gmp_sqrt);
  157. ZEND_FUNCTION(gmp_sqrtrem);
  158. ZEND_FUNCTION(gmp_root);
  159. ZEND_FUNCTION(gmp_rootrem);
  160. ZEND_FUNCTION(gmp_pow);
  161. ZEND_FUNCTION(gmp_powm);
  162. ZEND_FUNCTION(gmp_perfect_square);
  163. ZEND_FUNCTION(gmp_perfect_power);
  164. ZEND_FUNCTION(gmp_prob_prime);
  165. ZEND_FUNCTION(gmp_gcd);
  166. ZEND_FUNCTION(gmp_gcdext);
  167. ZEND_FUNCTION(gmp_lcm);
  168. ZEND_FUNCTION(gmp_invert);
  169. ZEND_FUNCTION(gmp_jacobi);
  170. ZEND_FUNCTION(gmp_legendre);
  171. ZEND_FUNCTION(gmp_kronecker);
  172. ZEND_FUNCTION(gmp_cmp);
  173. ZEND_FUNCTION(gmp_sign);
  174. ZEND_FUNCTION(gmp_random_seed);
  175. ZEND_FUNCTION(gmp_random_bits);
  176. ZEND_FUNCTION(gmp_random_range);
  177. ZEND_FUNCTION(gmp_and);
  178. ZEND_FUNCTION(gmp_or);
  179. ZEND_FUNCTION(gmp_com);
  180. ZEND_FUNCTION(gmp_xor);
  181. ZEND_FUNCTION(gmp_setbit);
  182. ZEND_FUNCTION(gmp_clrbit);
  183. ZEND_FUNCTION(gmp_testbit);
  184. ZEND_FUNCTION(gmp_scan0);
  185. ZEND_FUNCTION(gmp_scan1);
  186. ZEND_FUNCTION(gmp_popcount);
  187. ZEND_FUNCTION(gmp_hamdist);
  188. ZEND_FUNCTION(gmp_nextprime);
  189. ZEND_FUNCTION(gmp_binomial);
  190. ZEND_METHOD(GMP, __serialize);
  191. ZEND_METHOD(GMP, __unserialize);
  192. static const zend_function_entry ext_functions[] = {
  193. ZEND_FE(gmp_init, arginfo_gmp_init)
  194. ZEND_FE(gmp_import, arginfo_gmp_import)
  195. ZEND_FE(gmp_export, arginfo_gmp_export)
  196. ZEND_FE(gmp_intval, arginfo_gmp_intval)
  197. ZEND_FE(gmp_strval, arginfo_gmp_strval)
  198. ZEND_FE(gmp_add, arginfo_gmp_add)
  199. ZEND_FE(gmp_sub, arginfo_gmp_sub)
  200. ZEND_FE(gmp_mul, arginfo_gmp_mul)
  201. ZEND_FE(gmp_div_qr, arginfo_gmp_div_qr)
  202. ZEND_FE(gmp_div_q, arginfo_gmp_div_q)
  203. ZEND_FE(gmp_div_r, arginfo_gmp_div_r)
  204. ZEND_FALIAS(gmp_div, gmp_div_q, arginfo_gmp_div)
  205. ZEND_FE(gmp_mod, arginfo_gmp_mod)
  206. ZEND_FE(gmp_divexact, arginfo_gmp_divexact)
  207. ZEND_FE(gmp_neg, arginfo_gmp_neg)
  208. ZEND_FE(gmp_abs, arginfo_gmp_abs)
  209. ZEND_FE(gmp_fact, arginfo_gmp_fact)
  210. ZEND_FE(gmp_sqrt, arginfo_gmp_sqrt)
  211. ZEND_FE(gmp_sqrtrem, arginfo_gmp_sqrtrem)
  212. ZEND_FE(gmp_root, arginfo_gmp_root)
  213. ZEND_FE(gmp_rootrem, arginfo_gmp_rootrem)
  214. ZEND_FE(gmp_pow, arginfo_gmp_pow)
  215. ZEND_FE(gmp_powm, arginfo_gmp_powm)
  216. ZEND_FE(gmp_perfect_square, arginfo_gmp_perfect_square)
  217. ZEND_FE(gmp_perfect_power, arginfo_gmp_perfect_power)
  218. ZEND_FE(gmp_prob_prime, arginfo_gmp_prob_prime)
  219. ZEND_FE(gmp_gcd, arginfo_gmp_gcd)
  220. ZEND_FE(gmp_gcdext, arginfo_gmp_gcdext)
  221. ZEND_FE(gmp_lcm, arginfo_gmp_lcm)
  222. ZEND_FE(gmp_invert, arginfo_gmp_invert)
  223. ZEND_FE(gmp_jacobi, arginfo_gmp_jacobi)
  224. ZEND_FE(gmp_legendre, arginfo_gmp_legendre)
  225. ZEND_FE(gmp_kronecker, arginfo_gmp_kronecker)
  226. ZEND_FE(gmp_cmp, arginfo_gmp_cmp)
  227. ZEND_FE(gmp_sign, arginfo_gmp_sign)
  228. ZEND_FE(gmp_random_seed, arginfo_gmp_random_seed)
  229. ZEND_FE(gmp_random_bits, arginfo_gmp_random_bits)
  230. ZEND_FE(gmp_random_range, arginfo_gmp_random_range)
  231. ZEND_FE(gmp_and, arginfo_gmp_and)
  232. ZEND_FE(gmp_or, arginfo_gmp_or)
  233. ZEND_FE(gmp_com, arginfo_gmp_com)
  234. ZEND_FE(gmp_xor, arginfo_gmp_xor)
  235. ZEND_FE(gmp_setbit, arginfo_gmp_setbit)
  236. ZEND_FE(gmp_clrbit, arginfo_gmp_clrbit)
  237. ZEND_FE(gmp_testbit, arginfo_gmp_testbit)
  238. ZEND_FE(gmp_scan0, arginfo_gmp_scan0)
  239. ZEND_FE(gmp_scan1, arginfo_gmp_scan1)
  240. ZEND_FE(gmp_popcount, arginfo_gmp_popcount)
  241. ZEND_FE(gmp_hamdist, arginfo_gmp_hamdist)
  242. ZEND_FE(gmp_nextprime, arginfo_gmp_nextprime)
  243. ZEND_FE(gmp_binomial, arginfo_gmp_binomial)
  244. ZEND_FE_END
  245. };
  246. static const zend_function_entry class_GMP_methods[] = {
  247. ZEND_ME(GMP, __serialize, arginfo_class_GMP___serialize, ZEND_ACC_PUBLIC)
  248. ZEND_ME(GMP, __unserialize, arginfo_class_GMP___unserialize, ZEND_ACC_PUBLIC)
  249. ZEND_FE_END
  250. };
  251. static zend_class_entry *register_class_GMP(void)
  252. {
  253. zend_class_entry ce, *class_entry;
  254. INIT_CLASS_ENTRY(ce, "GMP", class_GMP_methods);
  255. class_entry = zend_register_internal_class_ex(&ce, NULL);
  256. return class_entry;
  257. }