]> granicus.if.org Git - php/commitdiff
Clean up GMP arginfos
authorNikita Popov <nikic@php.net>
Thu, 28 Nov 2013 23:00:41 +0000 (00:00 +0100)
committerNikita Popov <nikic@php.net>
Thu, 28 Nov 2013 23:05:28 +0000 (00:05 +0100)
Removed duplicate arginfos, specified number of required args
everywhere and removed weird pass-by-ref arguments.

ext/gmp/gmp.c

index e64acf92addff37bbff363a9a3318bf784962776..f243b3155c1174b1bb0b27e6a8f81f44ee6431ae 100644 (file)
@@ -43,7 +43,7 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_init, 0, 0, 1)
        ZEND_ARG_INFO(0, base)
 ZEND_END_ARG_INFO()
 
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_intval, 0)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_intval, 0, 0, 1)
        ZEND_ARG_INFO(0, gmpnumber)
 ZEND_END_ARG_INFO()
 
@@ -52,195 +52,62 @@ ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_strval, 0, 0, 1)
        ZEND_ARG_INFO(0, base)
 ZEND_END_ARG_INFO()
 
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_add, 0)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_unary, 0, 0, 1)
        ZEND_ARG_INFO(0, a)
-       ZEND_ARG_INFO(0, b)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_sub, 0)
-       ZEND_ARG_INFO(0, a)
-       ZEND_ARG_INFO(0, b)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_mul, 0)
-       ZEND_ARG_INFO(0, a)
-       ZEND_ARG_INFO(0, b)
 ZEND_END_ARG_INFO()
 
-ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_div_qr, 0, 0, 2)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_binary, 0, 0, 2)
        ZEND_ARG_INFO(0, a)
        ZEND_ARG_INFO(0, b)
-       ZEND_ARG_INFO(0, round)
 ZEND_END_ARG_INFO()
 
-ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_div_r, 0, 0, 2)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_div, 0, 0, 2)
        ZEND_ARG_INFO(0, a)
        ZEND_ARG_INFO(0, b)
        ZEND_ARG_INFO(0, round)
 ZEND_END_ARG_INFO()
 
-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()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_mod, 0)
-       ZEND_ARG_INFO(0, a)
-       ZEND_ARG_INFO(0, b)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_divexact, 0)
-       ZEND_ARG_INFO(0, a)
-       ZEND_ARG_INFO(0, b)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_neg, 0)
-       ZEND_ARG_INFO(0, a)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_abs, 0)
-       ZEND_ARG_INFO(0, a)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_fact, 0)
-       ZEND_ARG_INFO(0, a)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_pow, 0)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_pow, 0, 0, 2)
        ZEND_ARG_INFO(0, base)
        ZEND_ARG_INFO(0, exp)
 ZEND_END_ARG_INFO()
 
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_powm, 0)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_powm, 0, 0, 3)
        ZEND_ARG_INFO(0, base)
        ZEND_ARG_INFO(0, exp)
        ZEND_ARG_INFO(0, mod)
 ZEND_END_ARG_INFO()
 
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_sqrt, 0)
-       ZEND_ARG_INFO(0, a)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_sqrtrem, 0)
-       ZEND_ARG_INFO(0, a)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_root, 0)
-       ZEND_ARG_INFO(0, a)
-       ZEND_ARG_INFO(0, nth)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_rootrem, 0)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_root, 0, 0, 2)
        ZEND_ARG_INFO(0, a)
        ZEND_ARG_INFO(0, nth)
 ZEND_END_ARG_INFO()
 
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_perfect_square, 0)
-       ZEND_ARG_INFO(0, a)
-ZEND_END_ARG_INFO()
-
 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()
 
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_gcd, 0)
-       ZEND_ARG_INFO(0, a)
-       ZEND_ARG_INFO(0, b)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_gcdext, 0)
-       ZEND_ARG_INFO(0, a)
-       ZEND_ARG_INFO(0, b)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_invert, 0)
-       ZEND_ARG_INFO(0, a)
-       ZEND_ARG_INFO(0, b)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_jacobi, 0)
-       ZEND_ARG_INFO(0, a)
-       ZEND_ARG_INFO(0, b)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_legendre, 0)
-       ZEND_ARG_INFO(0, a)
-       ZEND_ARG_INFO(0, b)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_cmp, 0)
-       ZEND_ARG_INFO(0, a)
-       ZEND_ARG_INFO(0, b)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_sign, 0)
-       ZEND_ARG_INFO(0, a)
-ZEND_END_ARG_INFO()
-
 ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_random, 0, 0, 0)
        ZEND_ARG_INFO(0, limiter)
 ZEND_END_ARG_INFO()
 
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_and, 0)
-       ZEND_ARG_INFO(0, a)
-       ZEND_ARG_INFO(0, b)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_or, 0)
-       ZEND_ARG_INFO(0, a)
-       ZEND_ARG_INFO(0, b)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_com, 0)
-       ZEND_ARG_INFO(0, a)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_xor, 0)
-       ZEND_ARG_INFO(0, a)
-       ZEND_ARG_INFO(0, b)
-ZEND_END_ARG_INFO()
-
 ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_setbit, 0, 0, 2)
-       ZEND_ARG_INFO(1, a)
+       ZEND_ARG_INFO(0, a)
        ZEND_ARG_INFO(0, index)
        ZEND_ARG_INFO(0, set_clear)
 ZEND_END_ARG_INFO()
 
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_clrbit, 0)
-       ZEND_ARG_INFO(1, a)
-       ZEND_ARG_INFO(0, index)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_testbit, 0)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_bit, 0, 0, 2)
        ZEND_ARG_INFO(0, a)
        ZEND_ARG_INFO(0, index)
 ZEND_END_ARG_INFO()
 
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_popcount, 0)
-       ZEND_ARG_INFO(0, a)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_hamdist, 0)
-       ZEND_ARG_INFO(0, a)
-       ZEND_ARG_INFO(0, b)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_scan0, 0)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_gmp_scan, 0, 0, 2)
        ZEND_ARG_INFO(0, a)
        ZEND_ARG_INFO(0, start)
 ZEND_END_ARG_INFO()
 
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_scan1, 0)
-       ZEND_ARG_INFO(0, a)
-       ZEND_ARG_INFO(0, start)
-ZEND_END_ARG_INFO()
-
-ZEND_BEGIN_ARG_INFO(arginfo_gmp_nextprime, 0)
-       ZEND_ARG_INFO(0, a)
-ZEND_END_ARG_INFO()
-
 /* }}} */
 
 ZEND_DECLARE_MODULE_GLOBALS(gmp)
@@ -249,49 +116,49 @@ static ZEND_GINIT_FUNCTION(gmp);
 /* {{{ gmp_functions[]
  */
 const zend_function_entry gmp_functions[] = {
-       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_root,       arginfo_gmp_root)
-       ZEND_FE(gmp_rootrem,    arginfo_gmp_rootrem)
-       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_testbit,arginfo_gmp_testbit)
-       ZEND_FE(gmp_popcount, arginfo_gmp_popcount)
-       ZEND_FE(gmp_hamdist, arginfo_gmp_hamdist)
-       ZEND_FE(gmp_nextprime, arginfo_gmp_nextprime)
+       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_binary)
+       ZEND_FE(gmp_sub,                arginfo_gmp_binary)
+       ZEND_FE(gmp_mul,                arginfo_gmp_binary)
+       ZEND_FE(gmp_div_qr,             arginfo_gmp_div)
+       ZEND_FE(gmp_div_q,              arginfo_gmp_div)
+       ZEND_FE(gmp_div_r,              arginfo_gmp_div)
+       ZEND_FALIAS(gmp_div, gmp_div_q, arginfo_gmp_div)
+       ZEND_FE(gmp_mod,                arginfo_gmp_binary)
+       ZEND_FE(gmp_divexact,   arginfo_gmp_binary)
+       ZEND_FE(gmp_neg,                arginfo_gmp_unary)
+       ZEND_FE(gmp_abs,                arginfo_gmp_unary)
+       ZEND_FE(gmp_fact,               arginfo_gmp_unary)
+       ZEND_FE(gmp_sqrt,               arginfo_gmp_unary)
+       ZEND_FE(gmp_sqrtrem,    arginfo_gmp_unary)
+       ZEND_FE(gmp_root,               arginfo_gmp_root)
+       ZEND_FE(gmp_rootrem,    arginfo_gmp_root)
+       ZEND_FE(gmp_pow,                arginfo_gmp_pow)
+       ZEND_FE(gmp_powm,               arginfo_gmp_powm)
+       ZEND_FE(gmp_perfect_square,     arginfo_gmp_unary)
+       ZEND_FE(gmp_prob_prime, arginfo_gmp_prob_prime)
+       ZEND_FE(gmp_gcd,                arginfo_gmp_binary)
+       ZEND_FE(gmp_gcdext,             arginfo_gmp_binary)
+       ZEND_FE(gmp_invert,             arginfo_gmp_binary)
+       ZEND_FE(gmp_jacobi,             arginfo_gmp_binary)
+       ZEND_FE(gmp_legendre,   arginfo_gmp_binary)
+       ZEND_FE(gmp_cmp,                arginfo_gmp_binary)
+       ZEND_FE(gmp_sign,               arginfo_gmp_unary)
+       ZEND_FE(gmp_random,             arginfo_gmp_random)
+       ZEND_FE(gmp_and,                arginfo_gmp_binary)
+       ZEND_FE(gmp_or,                 arginfo_gmp_binary)
+       ZEND_FE(gmp_com,                arginfo_gmp_unary)
+       ZEND_FE(gmp_xor,                arginfo_gmp_binary)
+       ZEND_FE(gmp_setbit,             arginfo_gmp_setbit)
+       ZEND_FE(gmp_clrbit,             arginfo_gmp_bit)
+       ZEND_FE(gmp_testbit,    arginfo_gmp_bit)
+       ZEND_FE(gmp_scan0,      arginfo_gmp_scan)
+       ZEND_FE(gmp_scan1,      arginfo_gmp_scan)
+       ZEND_FE(gmp_popcount,   arginfo_gmp_unary)
+       ZEND_FE(gmp_hamdist,    arginfo_gmp_binary)
+       ZEND_FE(gmp_nextprime,  arginfo_gmp_unary)
        PHP_FE_END
 };
 /* }}} */
@@ -1813,7 +1680,7 @@ ZEND_FUNCTION(gmp_xor)
 }
 /* }}} */
 
-/* {{{ proto void gmp_setbit(GMP &a, int index[, bool set_clear])
+/* {{{ proto void gmp_setbit(GMP a, int index[, bool set_clear])
    Sets or clear bit in a */
 ZEND_FUNCTION(gmp_setbit)
 {
@@ -1841,7 +1708,7 @@ ZEND_FUNCTION(gmp_setbit)
 }
 /* }}} */
 
-/* {{{ proto void gmp_clrbit(GMP &a, int index)
+/* {{{ proto void gmp_clrbit(GMP a, int index)
    Clears bit in a */
 ZEND_FUNCTION(gmp_clrbit)
 {