1 /* 2 +----------------------------------------------------------------------+ 3 | PHP Version 5 | 4 +----------------------------------------------------------------------+ 5 | Copyright (c) 1997-2016 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_import); 35 ZEND_FUNCTION(gmp_export); 36 ZEND_FUNCTION(gmp_intval); 37 ZEND_FUNCTION(gmp_strval); 38 ZEND_FUNCTION(gmp_add); 39 ZEND_FUNCTION(gmp_sub); 40 ZEND_FUNCTION(gmp_mul); 41 ZEND_FUNCTION(gmp_div_qr); 42 ZEND_FUNCTION(gmp_div_q); 43 ZEND_FUNCTION(gmp_div_r); 44 ZEND_FUNCTION(gmp_mod); 45 ZEND_FUNCTION(gmp_divexact); 46 ZEND_FUNCTION(gmp_neg); 47 ZEND_FUNCTION(gmp_abs); 48 ZEND_FUNCTION(gmp_fact); 49 ZEND_FUNCTION(gmp_sqrt); 50 ZEND_FUNCTION(gmp_sqrtrem); 51 ZEND_FUNCTION(gmp_root); 52 ZEND_FUNCTION(gmp_rootrem); 53 ZEND_FUNCTION(gmp_pow); 54 ZEND_FUNCTION(gmp_powm); 55 ZEND_FUNCTION(gmp_perfect_square); 56 ZEND_FUNCTION(gmp_prob_prime); 57 ZEND_FUNCTION(gmp_gcd); 58 ZEND_FUNCTION(gmp_gcdext); 59 ZEND_FUNCTION(gmp_invert); 60 ZEND_FUNCTION(gmp_jacobi); 61 ZEND_FUNCTION(gmp_legendre); 62 ZEND_FUNCTION(gmp_cmp); 63 ZEND_FUNCTION(gmp_sign); 64 ZEND_FUNCTION(gmp_and); 65 ZEND_FUNCTION(gmp_or); 66 ZEND_FUNCTION(gmp_com); 67 ZEND_FUNCTION(gmp_xor); 68 ZEND_FUNCTION(gmp_random); 69 ZEND_FUNCTION(gmp_random_bits); 70 ZEND_FUNCTION(gmp_random_range); 71 ZEND_FUNCTION(gmp_setbit); 72 ZEND_FUNCTION(gmp_clrbit); 73 ZEND_FUNCTION(gmp_scan0); 74 ZEND_FUNCTION(gmp_scan1); 75 ZEND_FUNCTION(gmp_testbit); 76 ZEND_FUNCTION(gmp_popcount); 77 ZEND_FUNCTION(gmp_hamdist); 78 ZEND_FUNCTION(gmp_nextprime); 79 80 ZEND_BEGIN_MODULE_GLOBALS(gmp) 81 zend_bool rand_initialized; 82 gmp_randstate_t rand_state; 83 ZEND_END_MODULE_GLOBALS(gmp) 84 85 #ifdef ZTS 86 #define GMPG(v) TSRMG(gmp_globals_id, zend_gmp_globals *, v) 87 #else 88 #define GMPG(v) (gmp_globals.v) 89 #endif 90 91 #else 92 93 #define phpext_gmp_ptr NULL 94 95 #endif 96 97 #endif /* PHP_GMP_H */ 98 99 100 /* 101 * Local variables: 102 * tab-width: 4 103 * c-basic-offset: 4 104 * End: 105 */ 106