44#if defined (__cplusplus)
48#define UN_USED(X) (void)X
51 void *(*) (
void *,
size_t,
size_t),
52 void (*) (
void *,
size_t));
55 void *(**) (
void *,
size_t,
size_t),
56 void (**) (
void *,
size_t));
122#define mpn_invert_limb(x) mpn_invert_3by2 ((x), 0)
131#define mpz_odd_p(z) (((z)->_mp_size != 0) & (int) (z)->_mp_d[0])
132#define mpz_even_p(z) (! mpz_odd_p (z))
259#define MPZ_ROINIT_N(xp, xs) {{0, (xs),(xp) }}
280 || defined (H_STDIO) \
281 || defined (_H_STDIO) \
282 || defined (_STDIO_H) \
283 || defined (_STDIO_H_) \
284 || defined (__STDIO_H) \
285 || defined (__STDIO_H__) \
286 || defined (_STDIO_INCLUDED) \
287 || defined (__dj_include_stdio_h_) \
288 || defined (_FILE_DEFINED) \
289 || defined (__STDIO__) \
290 || defined (_MSL_STDIO_H) \
291 || defined (_STDIO_H_INCLUDED) \
292 || defined (_ISO_STDIO_ISO_H) \
293 || defined (__STDIO_LOADED)
297void mpz_import (
mpz_t,
size_t,
int,
size_t,
int,
size_t,
const void *);
298void *
mpz_export (
void *,
size_t *,
int,
size_t,
int,
size_t,
const mpz_t);
300#if defined (__cplusplus)
size_t mpz_out_str(FILE *stream, int base, const mpz_t x)
size_t mpz_size(const mpz_t)
mp_bitcnt_t mpn_popcount(mp_srcptr, mp_size_t)
void mpn_copyi(mp_ptr, mp_srcptr, mp_size_t)
void mpz_cdiv_q(mpz_t, const mpz_t, const mpz_t)
void mpz_ui_sub(mpz_t, uIntMpz, const mpz_t)
int mpz_cmp_si(const mpz_t, intMpz)
void mpz_divexact(mpz_t, const mpz_t, const mpz_t)
int mpz_cmpabs(const mpz_t, const mpz_t)
int mpz_init_set_str(mpz_t, const char *, int)
uIntMpz mpz_cdiv_ui(const mpz_t, uIntMpz)
const __mpz_struct * mpz_srcptr
void mpz_sqrt(mpz_t, const mpz_t)
void mpz_divexact_ui(mpz_t, const mpz_t, uIntMpz)
void mpz_rootrem(mpz_t, mpz_t, const mpz_t, uIntMpz)
mp_bitcnt_t mpz_popcount(const mpz_t)
void mpz_init_set_d(mpz_t, double)
int mpz_divisible_ui_p(const mpz_t, uIntMpz)
uIntMpz mpz_cdiv_r_ui(mpz_t, const mpz_t, uIntMpz)
mp_bitcnt_t mpz_hamdist(const mpz_t, const mpz_t)
mp_limb_t mpn_add(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)
void mpz_abs(mpz_t, const mpz_t)
void mpz_fdiv_q_2exp(mpz_t, const mpz_t, mp_bitcnt_t)
unsigned long long uIntMpz
uIntMpz mpz_tdiv_ui(const mpz_t, uIntMpz)
int mpz_tstbit(const mpz_t, mp_bitcnt_t)
void mpz_gcdext(mpz_t, mpz_t, mpz_t, const mpz_t, const mpz_t)
void mpz_add(mpz_t, const mpz_t, const mpz_t)
void * mpz_export(void *, size_t *, int, size_t, int, size_t, const mpz_t)
void mpz_cdiv_q_2exp(mpz_t, const mpz_t, mp_bitcnt_t)
void mpz_set_d(mpz_t, double)
uIntMpz mpz_fdiv_q_ui(mpz_t, const mpz_t, uIntMpz)
uIntMpz mpz_cdiv_q_ui(mpz_t, const mpz_t, uIntMpz)
int mpn_zero_p(mp_srcptr, mp_size_t)
void mpz_addmul_ui(mpz_t, const mpz_t, uIntMpz)
int mpn_cmp(mp_srcptr, mp_srcptr, mp_size_t)
void mpz_setbit(mpz_t, mp_bitcnt_t)
mp_bitcnt_t mpz_scan0(const mpz_t, mp_bitcnt_t)
uIntMpz mpz_tdiv_qr_ui(mpz_t, mpz_t, const mpz_t, uIntMpz)
mp_bitcnt_t mpn_scan0(mp_srcptr, mp_bitcnt_t)
double mpz_get_d(const mpz_t)
mp_bitcnt_t mpn_scan1(mp_srcptr, mp_bitcnt_t)
void mpz_tdiv_q_2exp(mpz_t, const mpz_t, mp_bitcnt_t)
int mpz_fits_ulong_p(const mpz_t)
mp_limb_t mpn_lshift(mp_ptr, mp_srcptr, mp_size_t, unsigned int)
mp_limb_t mpz_getlimbn(const mpz_t, mp_size_t)
void mpz_submul_ui(mpz_t, const mpz_t, uIntMpz)
int mpz_cmpabs_ui(const mpz_t, uIntMpz)
mp_limb_t mpn_rshift(mp_ptr, mp_srcptr, mp_size_t, unsigned int)
mp_ptr mpz_limbs_write(mpz_t, mp_size_t)
mp_size_t mpn_set_str(mp_ptr, const unsigned char *, size_t, int)
mp_limb_t mpn_invert_3by2(mp_limb_t, mp_limb_t)
void mp_set_memory_functions(void *(*)(size_t), void *(*)(void *, size_t, size_t), void(*)(void *, size_t))
void mpz_addmul(mpz_t, const mpz_t, const mpz_t)
mp_limb_t mpn_neg(mp_ptr, mp_srcptr, mp_size_t)
void mpz_fdiv_r(mpz_t, const mpz_t, const mpz_t)
void mpz_add_ui(mpz_t, const mpz_t, uIntMpz)
void mpz_tdiv_r_2exp(mpz_t, const mpz_t, mp_bitcnt_t)
void mpz_cdiv_r_2exp(mpz_t, const mpz_t, mp_bitcnt_t)
void mpz_tdiv_qr(mpz_t, mpz_t, const mpz_t, const mpz_t)
void mpz_and(mpz_t, const mpz_t, const mpz_t)
uIntMpz mpz_tdiv_q_ui(mpz_t, const mpz_t, uIntMpz)
void mpz_lcm(mpz_t, const mpz_t, const mpz_t)
mp_srcptr mpz_limbs_read(mpz_srcptr)
void mpz_tdiv_r(mpz_t, const mpz_t, const mpz_t)
intMpz mpz_get_si(const mpz_t)
void mpz_realloc2(mpz_t, mp_bitcnt_t)
uIntMpz mpz_fdiv_ui(const mpz_t, uIntMpz)
void mpz_limbs_finish(mpz_t, mp_size_t)
int mpz_cmp_ui(const mpz_t, uIntMpz)
void mpz_fdiv_qr(mpz_t, mpz_t, const mpz_t, const mpz_t)
void mpz_fdiv_q(mpz_t, const mpz_t, const mpz_t)
void mpz_mul_ui(mpz_t, const mpz_t, uIntMpz)
void mpz_ui_pow_ui(mpz_t, uIntMpz, uIntMpz)
uIntMpz mpz_gcd_ui(mpz_t, const mpz_t, uIntMpz)
void mpz_fac_ui(mpz_t, uIntMpz)
const mp_limb_t * mp_srcptr
mp_ptr mpz_limbs_modify(mpz_t, mp_size_t)
int mpz_cmpabs_d(const mpz_t, double)
uIntMpz mpz_mod_ui(mpz_t, const mpz_t, uIntMpz)
void mpz_lcm_ui(mpz_t, const mpz_t, uIntMpz)
mp_limb_t mpn_sub_1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)
void mpz_cdiv_qr(mpz_t, mpz_t, const mpz_t, const mpz_t)
mp_size_t mpn_sqrtrem(mp_ptr, mp_ptr, mp_srcptr, mp_size_t)
void mpz_gcd(mpz_t, const mpz_t, const mpz_t)
void mpz_sub(mpz_t, const mpz_t, const mpz_t)
mp_limb_t mpn_sub(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)
void mpz_swap(mpz_t, mpz_t)
void mpz_init_set_ui(mpz_t, uIntMpz)
uIntMpz mpz_cdiv_qr_ui(mpz_t, mpz_t, const mpz_t, uIntMpz)
void mpz_cdiv_r(mpz_t, const mpz_t, const mpz_t)
uIntMpz mpz_fdiv_qr_ui(mpz_t, mpz_t, const mpz_t, uIntMpz)
void mpz_submul(mpz_t, const mpz_t, const mpz_t)
int mpn_perfect_square_p(mp_srcptr, mp_size_t)
void mpz_fdiv_r_2exp(mpz_t, const mpz_t, mp_bitcnt_t)
void mpn_mul_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)
void mp_get_memory_functions(void *(**)(size_t), void *(**)(void *, size_t, size_t), void(**)(void *, size_t))
mp_limb_t mpn_add_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)
int mpz_cmp(const mpz_t, const mpz_t)
void mpz_init_set_si(mpz_t, intMpz)
void mpz_powm(mpz_t, const mpz_t, const mpz_t, const mpz_t)
size_t mpn_get_str(unsigned char *, int, mp_ptr, mp_size_t)
void mpz_init2(mpz_t, mp_bitcnt_t)
void mpz_mul(mpz_t, const mpz_t, const mpz_t)
mp_limb_t mpn_mul_1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)
void mpz_ior(mpz_t, const mpz_t, const mpz_t)
int mpz_perfect_square_p(const mpz_t)
void mpz_mul_2exp(mpz_t, const mpz_t, mp_bitcnt_t)
void mpz_sqrtrem(mpz_t, mpz_t, const mpz_t)
char * mpz_get_str(char *, int, const mpz_t)
mp_limb_t mpn_add_1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)
int mpz_divisible_p(const mpz_t, const mpz_t)
void mpz_com(mpz_t, const mpz_t)
uIntMpz mpz_fdiv_r_ui(mpz_t, const mpz_t, uIntMpz)
void mpn_zero(mp_ptr, mp_size_t)
int mpz_cmp_d(const mpz_t, double)
void mpz_clrbit(mpz_t, mp_bitcnt_t)
int mpz_fits_slong_p(const mpz_t)
void mpz_mul_si(mpz_t, const mpz_t, intMpz)
int mpz_probab_prime_p(const mpz_t, int)
int mpz_invert(mpz_t, const mpz_t, const mpz_t)
void mpz_neg(mpz_t, const mpz_t)
uIntMpz mpz_get_ui(const mpz_t)
void mpz_set_si(mpz_t, intMpz)
const int mp_bits_per_limb
size_t mpz_sizeinbase(const mpz_t, int)
void mpz_tdiv_q(mpz_t, const mpz_t, const mpz_t)
void mpz_mod(mpz_t, const mpz_t, const mpz_t)
void mpz_import(mpz_t, size_t, int, size_t, int, size_t, const void *)
int mpz_set_str(mpz_t, const char *, int)
mp_limb_t mpn_mul(mp_ptr, mp_srcptr, mp_size_t, mp_srcptr, mp_size_t)
void mpn_com(mp_ptr, mp_srcptr, mp_size_t)
void mpz_xor(mpz_t, const mpz_t, const mpz_t)
mp_limb_t mpn_submul_1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)
void mpz_powm_ui(mpz_t, const mpz_t, uIntMpz, const mpz_t)
mp_limb_t mpn_sub_n(mp_ptr, mp_srcptr, mp_srcptr, mp_size_t)
void mpz_combit(mpz_t, mp_bitcnt_t)
void mpz_init_set(mpz_t, const mpz_t)
uIntMpz mpz_tdiv_r_ui(mpz_t, const mpz_t, uIntMpz)
mp_bitcnt_t mpz_scan1(const mpz_t, mp_bitcnt_t)
void mpz_pow_ui(mpz_t, const mpz_t, uIntMpz)
void mpz_set_ui(mpz_t, uIntMpz)
void mpz_bin_uiui(mpz_t, uIntMpz, uIntMpz)
mpz_srcptr mpz_roinit_n(mpz_t, mp_srcptr, mp_size_t)
void mpz_set(mpz_t, const mpz_t)
mp_limb_t mpn_addmul_1(mp_ptr, mp_srcptr, mp_size_t, mp_limb_t)
void mpn_copyd(mp_ptr, mp_srcptr, mp_size_t)
int mpz_root(mpz_t, const mpz_t, uIntMpz)
void mpn_sqr(mp_ptr, mp_srcptr, mp_size_t)
void mpz_sub_ui(mpz_t, const mpz_t, uIntMpz)
int mpz_congruent_p(const mpz_t, const mpz_t, const mpz_t)