diff options
Diffstat (limited to 'ext/gmp/php_gmp_int.h')
-rw-r--r-- | ext/gmp/php_gmp_int.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/ext/gmp/php_gmp_int.h b/ext/gmp/php_gmp_int.h new file mode 100644 index 0000000000..9dd4c4d7f0 --- /dev/null +++ b/ext/gmp/php_gmp_int.h @@ -0,0 +1,31 @@ +#ifndef incl_PHP_GMP_INT_H +#define incl_PHP_GMP_INT_H + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "php.h" +#include <gmp.h> + +typedef struct _gmp_object { + mpz_t num; + zend_object std; +} gmp_object; + +static inline gmp_object *php_gmp_object_from_zend_object(zend_object *zobj) { + return (gmp_object *)( ((char *)zobj) - XtOffsetOf(gmp_object, std) ); +} + +PHPAPI zend_class_entry *php_gmp_class_entry(); + +/* GMP and MPIR use different datatypes on different platforms */ +#ifdef PHP_WIN32 +typedef zend_long gmp_long; +typedef zend_ulong gmp_ulong; +#else +typedef long gmp_long; +typedef unsigned long gmp_ulong; +#endif + +#endif |