diff options
author | Patrick McHardy <kaber@trash.net> | 2009-03-18 04:55:00 +0100 |
---|---|---|
committer | Patrick McHardy <kaber@trash.net> | 2009-03-18 04:55:00 +0100 |
commit | fac10ea799fe9b6158d74f66d6ad46536d38a545 (patch) | |
tree | 8c093bcbb2144aab54c70103e6ed438456ae0d48 /include/gmputil.h |
Initial commitv0.01-alpha1
Diffstat (limited to 'include/gmputil.h')
-rw-r--r-- | include/gmputil.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/include/gmputil.h b/include/gmputil.h new file mode 100644 index 00000000..41a6c270 --- /dev/null +++ b/include/gmputil.h @@ -0,0 +1,42 @@ +#ifndef _GMPUTIL_H +#define _GMPUTIL_H + +#include <gmp.h> + +enum mpz_word_order { + MPZ_MSWF = 1, + MPZ_LSWF = -1, +}; + +enum mpz_byte_order { + MPZ_BIG_ENDIAN = 1, + MPZ_HOST_ENDIAN = 0, + MPZ_LITTLE_ENDIAN = -1, +}; + +extern void mpz_bitmask(mpz_t rop, unsigned int width); +extern void mpz_init_bitmask(mpz_t rop, unsigned int width); +extern void mpz_prefixmask(mpz_t rop, unsigned int width, unsigned int prefix_len); + +extern void mpz_lshift_ui(mpz_t rop, unsigned int n); +extern void mpz_rshift_ui(mpz_t rop, unsigned int n); + +extern uint64_t mpz_get_uint64(const mpz_t op); +extern uint32_t mpz_get_uint32(const mpz_t op); +extern uint16_t mpz_get_uint16(const mpz_t op); +extern uint8_t mpz_get_uint8(const mpz_t op); + +extern uint64_t mpz_get_be64(const mpz_t op); +extern uint32_t mpz_get_be32(const mpz_t op); +extern uint16_t mpz_get_be16(const mpz_t op); + +enum byteorder; +extern void *mpz_export_data(void *data, const mpz_t op, + enum byteorder byteorder, + unsigned int len); +extern void mpz_import_data(mpz_t rop, const void *data, + enum byteorder byteorder, + unsigned int len); +extern void mpz_switch_byteorder(mpz_t rop, unsigned int len); + +#endif /* _GMPUTIL_H */ |