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