private static extern void mpz_mul(ref GMP_mpz_t dest, ref GMP_mpz_t op1, ref GMP_mpz_t op2);
 private static extern void mpz_init_set_si(ref GMP_mpz_t value, int v);
 private static extern void mpz_clear(ref GMP_mpz_t src);
 private static extern void mpz_powm(ref GMP_mpz_t rop, ref GMP_mpz_t bas, ref GMP_mpz_t exp, ref GMP_mpz_t mod);
 private static extern IntPtr mpz_export(IntPtr dataOutput, IntPtr count, int order, int size, int endian, uint nails, ref GMP_mpz_t op);
 private static extern double mpz_get_d(ref GMP_mpz_t src);
 private static extern int mpz_cmp_d(ref GMP_mpz_t op1, double op2);
 private static extern int mpz_get_si(ref GMP_mpz_t src);
 private static extern IntPtr mpz_get_str(IntPtr out_string, int _base, ref GMP_mpz_t src);
 private static extern IntPtr mpz_export(IntPtr dataOutput, IntPtr count, int order, int size, int endian, uint nails, ref GMP_mpz_t op);
 private static extern double mpz_get_d(ref GMP_mpz_t src);
 private static extern int mpz_cmp_si(ref GMP_mpz_t op1, int op2);
 private static extern int mpz_cmp_d(ref GMP_mpz_t op1, double op2);
 private static extern int mpz_cmp(ref GMP_mpz_t op1, ref GMP_mpz_t op2);
 private static extern void mpz_set(ref GMP_mpz_t dest, ref GMP_mpz_t src);
 private static extern void mpz_import(ref GMP_mpz_t output, uint count, int order, int size, int endian, uint nails, IntPtr input);
 private static extern int mpz_set_str(ref GMP_mpz_t rop, IntPtr s, int sbase);
 private static extern void mpz_init(ref GMP_mpz_t value);
 internal static extern int mpz_sizeinbase(ref GMP_mpz_t src, int _base);
 private static extern void mpz_init_set_si(ref GMP_mpz_t value, int v);
 private static extern void mpz_sub(ref GMP_mpz_t rop, ref GMP_mpz_t op1, ref GMP_mpz_t op2);
 private static extern int mpz_init_set_str(ref GMP_mpz_t rop, IntPtr s, int basis);
 private static extern void mpz_ui_pow_ui(ref GMP_mpz_t rop, uint bas, uint exp);
 private static extern int mpz_invert(ref GMP_mpz_t rop, ref GMP_mpz_t op1, ref GMP_mpz_t op2);
 private static extern void mpz_clear(ref GMP_mpz_t src);
 private static extern void mpz_mod(ref GMP_mpz_t rop, ref GMP_mpz_t op1, ref GMP_mpz_t mod);
 private static extern int mpz_init_set_str(ref GMP_mpz_t rop, IntPtr s, int basis);
 private static extern void mpz_mul(ref GMP_mpz_t dest, ref GMP_mpz_t op1, ref GMP_mpz_t op2);
 private static extern void mpz_mul_si(ref GMP_mpz_t dest, ref GMP_mpz_t src, int val);
 private static extern void mpz_mul_si(ref GMP_mpz_t dest, ref GMP_mpz_t src, int val);
 private static extern void mpz_tdiv_q(ref GMP_mpz_t dest, ref GMP_mpz_t src, ref GMP_mpz_t src2);
 private static extern void mpz_powm(ref GMP_mpz_t rop, ref GMP_mpz_t bas, ref GMP_mpz_t exp, ref GMP_mpz_t mod);
 private static extern void mpz_set_si(ref GMP_mpz_t src, int value);
 private static extern void mpz_set(ref GMP_mpz_t dest, ref GMP_mpz_t src);
 private static extern int mpz_get_si(ref GMP_mpz_t src);
 private static extern void mpz_set_si(ref GMP_mpz_t src, int value);
 private static extern IntPtr mpz_get_str(IntPtr out_string, int _base, ref GMP_mpz_t src);
 private static extern int mpz_set_str(ref GMP_mpz_t rop, IntPtr s, int sbase);
 private static extern int mpz_cmp(ref GMP_mpz_t op1, ref GMP_mpz_t op2);
 private static extern void mpz_sqrt(ref GMP_mpz_t rop, ref GMP_mpz_t op);
 private static extern int mpz_cmp_si(ref GMP_mpz_t op1, int op2);
 private static extern void mpz_sub(ref GMP_mpz_t rop, ref GMP_mpz_t op1, ref GMP_mpz_t op2);
 private static extern void mpz_sqrt(ref GMP_mpz_t rop, ref GMP_mpz_t op);
 private static extern void mpz_tdiv_q(ref GMP_mpz_t dest, ref GMP_mpz_t src, ref GMP_mpz_t src2);
 private static extern void mpz_mod(ref GMP_mpz_t rop, ref GMP_mpz_t op1, ref GMP_mpz_t mod);
 private static extern void mpz_ui_pow_ui(ref GMP_mpz_t rop, uint bas, uint exp);
 private static extern int mpz_invert(ref GMP_mpz_t rop, ref GMP_mpz_t op1, ref GMP_mpz_t op2);
 private static extern void mpz_init(ref GMP_mpz_t value);
 private static extern void mpz_import(ref GMP_mpz_t output, uint count, int order, int size, int endian, uint nails, IntPtr input);
 internal static extern int mpz_sizeinbase(ref GMP_mpz_t src, int _base);