extern static int mpz_get_si(ref Mpz_t src);
extern static int mpz_cmp(ref Mpz_t op1, ref Mpz_t op2);
extern static void mpz_tdiv_q(ref Mpz_t dest, ref Mpz_t src, ref Mpz_t src2);
extern static void mpz_set_si(ref Mpz_t src, int value);
extern static void mpz_sub(ref Mpz_t dest, ref Mpz_t src, ref Mpz_t src2);
extern static void mpz_add(ref Mpz_t dest, ref Mpz_t src, ref Mpz_t src2);
extern static void mpz_mul_si(ref Mpz_t dest, ref Mpz_t src, int val);
extern static void mpz_mul(ref Mpz_t dest, ref Mpz_t op1, ref Mpz_t op2);
extern static void mpz_init(ref Mpz_t value);