1 /* 2 +----------------------------------------------------------------------+ 3 | PHP Version 5 | 4 +----------------------------------------------------------------------+ 5 | Copyright (c) 1997-2013 The PHP Group | 6 +----------------------------------------------------------------------+ 7 | This source file is subject to version 3.01 of the PHP license, | 8 | that is bundled with this package in the file LICENSE, and is | 9 | available through the world-wide-web at the following url: | 10 | http://www.php.net/license/3_01.txt | 11 | If you did not receive a copy of the PHP license and are unable to | 12 | obtain it through the world-wide-web, please send a note to | 13 | license@php.net so we can mail you a copy immediately. | 14 +----------------------------------------------------------------------+ 15 | Author: Stanislav Malyshev <stas@php.net> | 16 +----------------------------------------------------------------------+ 17 */ 18 19 #ifndef PHP_GMP_H 20 #define PHP_GMP_H 21 22 #if HAVE_GMP 23 24 #include <gmp.h> 25 26 extern zend_module_entry gmp_module_entry; 27 #define phpext_gmp_ptr &gmp_module_entry 28 29 ZEND_MODULE_STARTUP_D(gmp); 30 ZEND_MODULE_DEACTIVATE_D(gmp); 31 ZEND_MODULE_INFO_D(gmp); 32 33 ZEND_FUNCTION(gmp_init); 34 ZEND_FUNCTION(gmp_intval); 35 ZEND_FUNCTION(gmp_strval); 36 ZEND_FUNCTION(gmp_add); 37 ZEND_FUNCTION(gmp_sub); 38 ZEND_FUNCTION(gmp_mul); 39 ZEND_FUNCTION(gmp_div_qr); 40 ZEND_FUNCTION(gmp_div_q); 41 ZEND_FUNCTION(gmp_div_r); 42 ZEND_FUNCTION(gmp_mod); 43 ZEND_FUNCTION(gmp_divexact); 44 ZEND_FUNCTION(gmp_neg); 45 ZEND_FUNCTION(gmp_abs); 46 ZEND_FUNCTION(gmp_fact); 47 ZEND_FUNCTION(gmp_sqrt); 48 ZEND_FUNCTION(gmp_pow); 49 ZEND_FUNCTION(gmp_powm); 50 ZEND_FUNCTION(gmp_sqrtrem); 51 ZEND_FUNCTION(gmp_perfect_square); 52 ZEND_FUNCTION(gmp_prob_prime); 53 ZEND_FUNCTION(gmp_gcd); 54 ZEND_FUNCTION(gmp_gcdext); 55 ZEND_FUNCTION(gmp_invert); 56 ZEND_FUNCTION(gmp_jacobi); 57 ZEND_FUNCTION(gmp_legendre); 58 ZEND_FUNCTION(gmp_cmp); 59 ZEND_FUNCTION(gmp_sign); 60 ZEND_FUNCTION(gmp_and); 61 ZEND_FUNCTION(gmp_or); 62 ZEND_FUNCTION(gmp_com); 63 ZEND_FUNCTION(gmp_xor); 64 ZEND_FUNCTION(gmp_random); 65 ZEND_FUNCTION(gmp_setbit); 66 ZEND_FUNCTION(gmp_clrbit); 67 ZEND_FUNCTION(gmp_scan0); 68 ZEND_FUNCTION(gmp_scan1); 69 ZEND_FUNCTION(gmp_testbit); 70 ZEND_FUNCTION(gmp_popcount); 71 ZEND_FUNCTION(gmp_hamdist); 72 ZEND_FUNCTION(gmp_nextprime); 73 74 ZEND_BEGIN_MODULE_GLOBALS(gmp) 75 zend_bool rand_initialized; 76 gmp_randstate_t rand_state; 77 ZEND_END_MODULE_GLOBALS(gmp) 78 79 #ifdef ZTS 80 #define GMPG(v) TSRMG(gmp_globals_id, zend_gmp_globals *, v) 81 #else 82 #define GMPG(v) (gmp_globals.v) 83 #endif 84 85 #else 86 87 #define phpext_gmp_ptr NULL 88 89 #endif 90 91 #endif /* PHP_GMP_H */ 92 93 94 /* 95 * Local variables: 96 * tab-width: 4 97 * c-basic-offset: 4 98 * End: 99 */ 100