From 9e905c3de77d3004071ad2c202ef86dc52eae892 Mon Sep 17 00:00:00 2001 From: Antony Dovgal Date: Tue, 18 Jul 2006 14:54:32 +0000 Subject: [PATCH] MFH: add gmp_nextprime() patch by ants dot aasma at gmail dot com --- ext/gmp/gmp.c | 14 +++++++++++ ext/gmp/php_gmp.h | 1 + ext/gmp/tests/gmp_nextprime.phpt | 40 ++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+) create mode 100644 ext/gmp/tests/gmp_nextprime.phpt diff --git a/ext/gmp/gmp.c b/ext/gmp/gmp.c index 3e723e6f4f..e97977a77c 100644 --- a/ext/gmp/gmp.c +++ b/ext/gmp/gmp.c @@ -260,6 +260,11 @@ ZEND_BEGIN_ARG_INFO(arginfo_gmp_scan1, 0) ZEND_ARG_INFO(0, start) ZEND_END_ARG_INFO() +static +ZEND_BEGIN_ARG_INFO(arginfo_gmp_nextprime, 0) + ZEND_ARG_INFO(0, a) +ZEND_END_ARG_INFO() + /* }}} */ ZEND_DECLARE_MODULE_GLOBALS(gmp) @@ -307,6 +312,7 @@ zend_function_entry gmp_functions[] = { 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[] */ }; /* }}} */ @@ -1424,6 +1430,14 @@ ZEND_FUNCTION(gmp_com) } /* }}} */ +/* {{{ proto resource gmp_nextprime(resource a) + Finds next prime of a */ +ZEND_FUNCTION(gmp_nextprime) +{ + gmp_unary_op(mpz_nextprime); +} +/* }}} */ + /* {{{ proto resource gmp_xor(resource a, resource b) Calculates logical exclusive OR of a and b */ ZEND_FUNCTION(gmp_xor) diff --git a/ext/gmp/php_gmp.h b/ext/gmp/php_gmp.h index 7ad54723f1..5af3615973 100644 --- a/ext/gmp/php_gmp.h +++ b/ext/gmp/php_gmp.h @@ -75,6 +75,7 @@ ZEND_FUNCTION(gmp_scan0); ZEND_FUNCTION(gmp_scan1); ZEND_FUNCTION(gmp_popcount); ZEND_FUNCTION(gmp_hamdist); +ZEND_FUNCTION(gmp_nextprime); ZEND_BEGIN_MODULE_GLOBALS(gmp) zend_bool rand_initialized; diff --git a/ext/gmp/tests/gmp_nextprime.phpt b/ext/gmp/tests/gmp_nextprime.phpt new file mode 100644 index 0000000000..84d945b3fc --- /dev/null +++ b/ext/gmp/tests/gmp_nextprime.phpt @@ -0,0 +1,40 @@ +--TEST-- +gmp_nextprime() +--SKIPIF-- + +--FILE-- + +--EXPECTF-- +string(1) "2" +string(1) "2" +string(4) "-997" +string(4) "1009" +string(6) "100003" + +Warning: gmp_nextprime(): Unable to convert variable to GMP - wrong type in %s on line %d +string(1) "0" +string(1) "0" + +Warning: gmp_nextprime(): Unable to convert variable to GMP - wrong type in %s on line %d +string(1) "0" +Done -- 2.40.0