Use specialised zend_new_pair() function to return array pairs in gmp

This is a bit faster, and more readable.
This commit is contained in:
Niels Dossche 2024-11-27 21:56:55 +01:00 committed by Gina Peter Banyard
parent 8addc3c571
commit 0833f2376e

View file

@ -916,9 +916,7 @@ ZEND_FUNCTION(gmp_div_qr)
gmp_create(&result1, &gmpnum_result1); gmp_create(&result1, &gmpnum_result1);
gmp_create(&result2, &gmpnum_result2); gmp_create(&result2, &gmpnum_result2);
array_init(return_value); RETVAL_ARR(zend_new_pair(&result1, &result2));
add_next_index_zval(return_value, &result1);
add_next_index_zval(return_value, &result2);
switch (round) { switch (round) {
case GMP_ROUND_ZERO: case GMP_ROUND_ZERO:
@ -1217,9 +1215,7 @@ ZEND_FUNCTION(gmp_sqrtrem)
gmp_create(&result1, &gmpnum_result1); gmp_create(&result1, &gmpnum_result1);
gmp_create(&result2, &gmpnum_result2); gmp_create(&result2, &gmpnum_result2);
array_init(return_value); RETVAL_ARR(zend_new_pair(&result1, &result2));
add_next_index_zval(return_value, &result1);
add_next_index_zval(return_value, &result2);
mpz_sqrtrem(gmpnum_result1, gmpnum_result2, gmpnum_a); mpz_sqrtrem(gmpnum_result1, gmpnum_result2, gmpnum_a);
} }
@ -1276,9 +1272,7 @@ ZEND_FUNCTION(gmp_rootrem)
gmp_create(&result1, &gmpnum_result1); gmp_create(&result1, &gmpnum_result1);
gmp_create(&result2, &gmpnum_result2); gmp_create(&result2, &gmpnum_result2);
array_init(return_value); RETVAL_ARR(zend_new_pair(&result1, &result2));
add_next_index_zval(return_value, &result1);
add_next_index_zval(return_value, &result2);
#if GMP_51_OR_NEWER #if GMP_51_OR_NEWER
/* mpz_rootrem() is supported since GMP 4.2, but buggy wrt odd roots /* mpz_rootrem() is supported since GMP 4.2, but buggy wrt odd roots