summaryrefslogtreecommitdiff
path: root/ext/gmp/php_gmp.h
diff options
context:
space:
mode:
Diffstat (limited to 'ext/gmp/php_gmp.h')
-rw-r--r--ext/gmp/php_gmp.h104
1 files changed, 104 insertions, 0 deletions
diff --git a/ext/gmp/php_gmp.h b/ext/gmp/php_gmp.h
new file mode 100644
index 000000000..9268f0985
--- /dev/null
+++ b/ext/gmp/php_gmp.h
@@ -0,0 +1,104 @@
+/*
+ +----------------------------------------------------------------------+
+ | PHP Version 5 |
+ +----------------------------------------------------------------------+
+ | Copyright (c) 1997-2004 The PHP Group |
+ +----------------------------------------------------------------------+
+ | This source file is subject to version 3.0 of the PHP license, |
+ | that is bundled with this package in the file LICENSE, and is |
+ | available through the world-wide-web at the following url: |
+ | http://www.php.net/license/3_0.txt. |
+ | If you did not receive a copy of the PHP license and are unable to |
+ | obtain it through the world-wide-web, please send a note to |
+ | license@php.net so we can mail you a copy immediately. |
+ +----------------------------------------------------------------------+
+ | Author: Stanislav Malyshev <stas@php.net> |
+ +----------------------------------------------------------------------+
+ */
+
+#ifndef PHP_GMP_H
+#define PHP_GMP_H
+
+#if HAVE_GMP
+
+#include <gmp.h>
+
+extern zend_module_entry gmp_module_entry;
+#define phpext_gmp_ptr &gmp_module_entry
+
+#ifdef ZEND_WIN32
+#define GMP_API __declspec(dllexport)
+#else
+#define GMP_API
+#endif
+
+ZEND_MODULE_STARTUP_D(gmp);
+ZEND_MODULE_SHUTDOWN_D(gmp);
+ZEND_MODULE_DEACTIVATE_D(gmp);
+ZEND_MODULE_INFO_D(gmp);
+
+ZEND_FUNCTION(gmp_init);
+ZEND_FUNCTION(gmp_intval);
+ZEND_FUNCTION(gmp_strval);
+ZEND_FUNCTION(gmp_add);
+ZEND_FUNCTION(gmp_sub);
+ZEND_FUNCTION(gmp_mul);
+ZEND_FUNCTION(gmp_div_qr);
+ZEND_FUNCTION(gmp_div_q);
+ZEND_FUNCTION(gmp_div_r);
+ZEND_FUNCTION(gmp_mod);
+ZEND_FUNCTION(gmp_divexact);
+ZEND_FUNCTION(gmp_neg);
+ZEND_FUNCTION(gmp_abs);
+ZEND_FUNCTION(gmp_fact);
+ZEND_FUNCTION(gmp_sqrt);
+ZEND_FUNCTION(gmp_pow);
+ZEND_FUNCTION(gmp_powm);
+ZEND_FUNCTION(gmp_sqrtrem);
+ZEND_FUNCTION(gmp_perfect_square);
+ZEND_FUNCTION(gmp_prob_prime);
+ZEND_FUNCTION(gmp_gcd);
+ZEND_FUNCTION(gmp_gcdext);
+ZEND_FUNCTION(gmp_invert);
+ZEND_FUNCTION(gmp_jacobi);
+ZEND_FUNCTION(gmp_legendre);
+ZEND_FUNCTION(gmp_cmp);
+ZEND_FUNCTION(gmp_sign);
+ZEND_FUNCTION(gmp_and);
+ZEND_FUNCTION(gmp_or);
+ZEND_FUNCTION(gmp_com);
+ZEND_FUNCTION(gmp_xor);
+ZEND_FUNCTION(gmp_random);
+ZEND_FUNCTION(gmp_setbit);
+ZEND_FUNCTION(gmp_clrbit);
+ZEND_FUNCTION(gmp_scan0);
+ZEND_FUNCTION(gmp_scan1);
+ZEND_FUNCTION(gmp_popcount);
+ZEND_FUNCTION(gmp_hamdist);
+
+ZEND_BEGIN_MODULE_GLOBALS(gmp)
+ zend_bool rand_initialized;
+ gmp_randstate_t rand_state;
+ZEND_END_MODULE_GLOBALS(gmp)
+
+#ifdef ZTS
+#define GMPG(v) TSRMG(gmp_globals_id, zend_gmp_globals *, v)
+#else
+#define GMPG(v) (gmp_globals.v)
+#endif
+
+#else
+
+#define phpext_gmp_ptr NULL
+
+#endif
+
+#endif /* PHP_GMP_H */
+
+
+/*
+ * Local variables:
+ * tab-width: 4
+ * c-basic-offset: 4
+ * End:
+ */