summaryrefslogtreecommitdiff
path: root/ext/gmp/gmp.c
diff options
context:
space:
mode:
authorHannes Magnusson <bjori@php.net>2006-06-14 21:36:10 +0000
committerHannes Magnusson <bjori@php.net>2006-06-14 21:36:10 +0000
commitf0d98ad3de90dc5e1261bfd481c20a655ada2c9b (patch)
tree4efb7b56194fa09862f9d48364cf55b8d57e8192 /ext/gmp/gmp.c
parenta943d234f5043dd52963f26d84f39baefe9659d6 (diff)
downloadphp-git-f0d98ad3de90dc5e1261bfd481c20a655ada2c9b.tar.gz
MFH: argument info..
Diffstat (limited to 'ext/gmp/gmp.c')
-rw-r--r--ext/gmp/gmp.c313
1 files changed, 272 insertions, 41 deletions
diff --git a/ext/gmp/gmp.c b/ext/gmp/gmp.c
index c946b8ff9c..163c46b6fe 100644
--- a/ext/gmp/gmp.c
+++ b/ext/gmp/gmp.c
@@ -37,48 +37,279 @@
/* True global resources - no need for thread safety here */
static int le_gmp;
+/* {{{ arginfo */
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_init, 0, 0, 1)
+ ZEND_ARG_INFO(0, number)
+ ZEND_ARG_INFO(0, base)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_intval, 0)
+ ZEND_ARG_INFO(0, gmpnumber)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_strval, 0, 0, 1)
+ ZEND_ARG_INFO(0, gmpnumber)
+ ZEND_ARG_INFO(0, base)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_add, 0)
+ ZEND_ARG_INFO(0, a)
+ ZEND_ARG_INFO(0, b)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_sub, 0)
+ ZEND_ARG_INFO(0, a)
+ ZEND_ARG_INFO(0, b)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_mul, 0)
+ ZEND_ARG_INFO(0, a)
+ ZEND_ARG_INFO(0, b)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_div_qr, 0, 0, 2)
+ ZEND_ARG_INFO(0, a)
+ ZEND_ARG_INFO(0, b)
+ ZEND_ARG_INFO(0, round)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_div_r, 0, 0, 2)
+ ZEND_ARG_INFO(0, a)
+ ZEND_ARG_INFO(0, b)
+ ZEND_ARG_INFO(0, round)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_div_q, 0, 0, 2)
+ ZEND_ARG_INFO(0, a)
+ ZEND_ARG_INFO(0, b)
+ ZEND_ARG_INFO(0, round)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_mod, 0)
+ ZEND_ARG_INFO(0, a)
+ ZEND_ARG_INFO(0, b)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_divexact, 0)
+ ZEND_ARG_INFO(0, a)
+ ZEND_ARG_INFO(0, b)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_neg, 0)
+ ZEND_ARG_INFO(0, a)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_abs, 0)
+ ZEND_ARG_INFO(0, a)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_fact, 0)
+ ZEND_ARG_INFO(0, a)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_pow, 0)
+ ZEND_ARG_INFO(0, base)
+ ZEND_ARG_INFO(0, exp)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_powm, 0)
+ ZEND_ARG_INFO(0, base)
+ ZEND_ARG_INFO(0, exp)
+ ZEND_ARG_INFO(0, mod)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_sqrt, 0)
+ ZEND_ARG_INFO(0, a)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_sqrtrem, 0)
+ ZEND_ARG_INFO(0, a)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_perfect_square, 0)
+ ZEND_ARG_INFO(0, a)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_prob_prime, 0, 0, 1)
+ ZEND_ARG_INFO(0, a)
+ ZEND_ARG_INFO(0, reps)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_gcd, 0)
+ ZEND_ARG_INFO(0, a)
+ ZEND_ARG_INFO(0, b)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_gcdext, 0)
+ ZEND_ARG_INFO(0, a)
+ ZEND_ARG_INFO(0, b)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_invert, 0)
+ ZEND_ARG_INFO(0, a)
+ ZEND_ARG_INFO(0, b)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_jacobi, 0)
+ ZEND_ARG_INFO(0, a)
+ ZEND_ARG_INFO(0, b)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_legendre, 0)
+ ZEND_ARG_INFO(0, a)
+ ZEND_ARG_INFO(0, b)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_cmp, 0)
+ ZEND_ARG_INFO(0, a)
+ ZEND_ARG_INFO(0, b)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_sign, 0)
+ ZEND_ARG_INFO(0, a)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_random, 0, 0, 0)
+ ZEND_ARG_INFO(0, limiter)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_and, 0)
+ ZEND_ARG_INFO(0, a)
+ ZEND_ARG_INFO(0, b)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_or, 0)
+ ZEND_ARG_INFO(0, a)
+ ZEND_ARG_INFO(0, b)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_com, 0)
+ ZEND_ARG_INFO(0, a)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_nextprime, 0)
+ ZEND_ARG_INFO(0, a)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_xor, 0)
+ ZEND_ARG_INFO(0, a)
+ ZEND_ARG_INFO(0, b)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_setbit, 0, 0, 2)
+ ZEND_ARG_INFO(1, a)
+ ZEND_ARG_INFO(0, index)
+ ZEND_ARG_INFO(0, set_clear)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_clrbit, 0)
+ ZEND_ARG_INFO(1, a)
+ ZEND_ARG_INFO(0, index)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_popcount, 0)
+ ZEND_ARG_INFO(0, a)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_hamdist, 0)
+ ZEND_ARG_INFO(0, a)
+ ZEND_ARG_INFO(0, b)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_scan0, 0)
+ ZEND_ARG_INFO(0, a)
+ ZEND_ARG_INFO(0, start)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_gmp_scan1, 0)
+ ZEND_ARG_INFO(0, a)
+ ZEND_ARG_INFO(0, start)
+ZEND_END_ARG_INFO()
+
+/* }}} */
+
/* {{{ gmp_functions[]
*/
zend_function_entry gmp_functions[] = {
- ZEND_FE(gmp_init, NULL)
- ZEND_FE(gmp_intval, NULL)
- ZEND_FE(gmp_strval, NULL)
- ZEND_FE(gmp_add, NULL)
- ZEND_FE(gmp_sub, NULL)
- ZEND_FE(gmp_mul, NULL)
- ZEND_FE(gmp_div_qr, NULL)
- ZEND_FE(gmp_div_q, NULL)
- ZEND_FE(gmp_div_r, NULL)
- ZEND_FALIAS(gmp_div, gmp_div_q, NULL)
- ZEND_FE(gmp_mod, NULL)
- ZEND_FE(gmp_divexact, NULL)
- ZEND_FE(gmp_neg, NULL)
- ZEND_FE(gmp_abs, NULL)
- ZEND_FE(gmp_fact, NULL)
- ZEND_FE(gmp_sqrt, NULL)
- ZEND_FE(gmp_sqrtrem, NULL)
- ZEND_FE(gmp_pow, NULL)
- ZEND_FE(gmp_powm, NULL)
- ZEND_FE(gmp_perfect_square, NULL)
- ZEND_FE(gmp_prob_prime, NULL)
- ZEND_FE(gmp_gcd, NULL)
- ZEND_FE(gmp_gcdext, NULL)
- ZEND_FE(gmp_invert, NULL)
- ZEND_FE(gmp_jacobi, NULL)
- ZEND_FE(gmp_legendre, NULL)
- ZEND_FE(gmp_cmp, NULL)
- ZEND_FE(gmp_sign, NULL)
- ZEND_FE(gmp_random, NULL)
- ZEND_FE(gmp_and, NULL)
- ZEND_FE(gmp_or, NULL)
- ZEND_FE(gmp_com, NULL)
- ZEND_FE(gmp_xor, NULL)
- ZEND_FE(gmp_setbit, first_arg_force_ref)
- ZEND_FE(gmp_clrbit, first_arg_force_ref)
- ZEND_FE(gmp_scan0, NULL)
- ZEND_FE(gmp_scan1, NULL)
- ZEND_FE(gmp_popcount, NULL)
- ZEND_FE(gmp_hamdist, NULL)
+ ZEND_FE(gmp_init, arginfo_gmp_init)
+ ZEND_FE(gmp_intval, arginfo_gmp_intval)
+ ZEND_FE(gmp_strval, arginfo_gmp_strval)
+ ZEND_FE(gmp_add, arginfo_gmp_add)
+ ZEND_FE(gmp_sub, arginfo_gmp_sub)
+ ZEND_FE(gmp_mul, arginfo_gmp_mul)
+ ZEND_FE(gmp_div_qr, arginfo_gmp_div_qr)
+ ZEND_FE(gmp_div_q, arginfo_gmp_div_q)
+ ZEND_FE(gmp_div_r, arginfo_gmp_div_r)
+ ZEND_FALIAS(gmp_div, gmp_div_q, arginfo_gmp_div_q)
+ ZEND_FE(gmp_mod, arginfo_gmp_mod)
+ ZEND_FE(gmp_divexact, arginfo_gmp_divexact)
+ ZEND_FE(gmp_neg, arginfo_gmp_neg)
+ ZEND_FE(gmp_abs, arginfo_gmp_abs)
+ ZEND_FE(gmp_fact, arginfo_gmp_fact)
+ ZEND_FE(gmp_sqrt, arginfo_gmp_sqrt)
+ ZEND_FE(gmp_sqrtrem, arginfo_gmp_sqrtrem)
+ ZEND_FE(gmp_pow, arginfo_gmp_pow)
+ ZEND_FE(gmp_powm, arginfo_gmp_powm)
+ ZEND_FE(gmp_perfect_square, arginfo_gmp_perfect_square)
+ ZEND_FE(gmp_prob_prime, arginfo_gmp_prob_prime)
+ ZEND_FE(gmp_gcd, arginfo_gmp_gcd)
+ ZEND_FE(gmp_gcdext, arginfo_gmp_gcdext)
+ ZEND_FE(gmp_invert, arginfo_gmp_invert)
+ ZEND_FE(gmp_jacobi, arginfo_gmp_jacobi)
+ ZEND_FE(gmp_legendre, arginfo_gmp_legendre)
+ ZEND_FE(gmp_cmp, arginfo_gmp_cmp)
+ ZEND_FE(gmp_sign, arginfo_gmp_sign)
+ ZEND_FE(gmp_random, arginfo_gmp_random)
+ ZEND_FE(gmp_and, arginfo_gmp_and)
+ ZEND_FE(gmp_or, arginfo_gmp_or)
+ ZEND_FE(gmp_com, arginfo_gmp_com)
+ ZEND_FE(gmp_xor, arginfo_gmp_xor)
+ ZEND_FE(gmp_setbit, arginfo_gmp_setbit)
+ ZEND_FE(gmp_clrbit, arginfo_gmp_clrbit)
+ ZEND_FE(gmp_scan0, arginfo_gmp_scan0)
+ ZEND_FE(gmp_scan1, arginfo_gmp_scan1)
+ ZEND_FE(gmp_popcount, arginfo_gmp_popcount)
+ ZEND_FE(gmp_hamdist, arginfo_gmp_hamdist)
+ ZEND_FE(gmp_nextprime, arginfo_gmp_nextprime)
{NULL, NULL, NULL} /* Must be the last line in gmp_functions[] */
};
/* }}} */
@@ -1374,6 +1605,6 @@ static void _php_gmpnum_free(zend_rsrc_list_entry *rsrc TSRMLS_DC)
* tab-width: 4
* c-basic-offset: 4
* End:
- * vim600: sw=4 ts=4 fdm=marker
- * vim<600: sw=4 ts=4
+ * vim600: noet sw=4 ts=4 fdm=marker
+ * vim<600: noet sw=4 ts=4
*/