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