Commit:    f54f308f71edb6c0db679e1d6755af5e9cac2d56
Author:    Nikita Popov <ni...@php.net>         Fri, 29 Nov 2013 00:00:41 +0100
Parents:   6d38090c8d1a47844c854a73b57518fb2a7c10a8
Branches:  PHP-5.6 master

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=f54f308f71edb6c0db679e1d6755af5e9cac2d56

Log:
Clean up GMP arginfos

Removed duplicate arginfos, specified number of required args
everywhere and removed weird pass-by-ref arguments.

Changed paths:
  M  ext/gmp/gmp.c

diff --git a/ext/gmp/gmp.c b/ext/gmp/gmp.c
index e64acf9..f243b31 100644
--- a/ext/gmp/gmp.c
+++ b/ext/gmp/gmp.c
@@ -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)
 {
-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to