private static extern void mpz_init_set_ui(ref MpzT rop, UInt32 v);
private static extern void mpz_mod(ref MpzT rop, ref MpzT x, ref MpzT mod);
private static extern Int32 mpz_mul_2exp(ref MpzT rop, ref MpzT x, UInt32 shift);
private static extern IntPtr mpz_get_str(IntPtr outString, Int32 _base, ref MpzT src);
private static extern Int32 mpz_cmp_si(ref MpzT x, Int32 y);
private static extern void mpz_add(ref MpzT dest, ref MpzT src, ref MpzT src2);
private static extern void mpz_set_si(ref MpzT src, Int32 value);
private static extern void mpz_add_ui(ref MpzT dest, ref MpzT src, UInt32 val);
private static extern void mpz_tdiv_q(ref MpzT dest, ref MpzT src, ref MpzT src2);
private static extern void mpz_mul(ref MpzT dest, ref MpzT x, ref MpzT y);
private static extern void mpz_mul_si(ref MpzT dest, ref MpzT src, Int32 val);
private static extern void mpz_clear(ref MpzT src);
private static extern Int32 mpz_init_set_str(ref MpzT rop, IntPtr s, Int32 basis);
private static extern void mpz_set(ref MpzT dest, ref MpzT src);
private static extern Int32 mpz_set_str(ref MpzT rop, IntPtr s, Int32 sbase);
private static extern Int32 mpz_get_si(ref MpzT src);
private static extern Int32 mpz_cmp(ref MpzT x, ref MpzT y);
private static extern double mpz_get_d(ref MpzT src);
private static extern void mpz_sqrt(ref MpzT rop, ref MpzT op);
private static extern void mpz_ui_pow_ui(ref MpzT rop, UInt32 bas, UInt32 exp);
internal static extern Int32 mpz_sizeinbase(ref MpzT src, Int32 _base);
private static extern void _PrimeSwingParallelFactorial(ref MpzT fact, ulong n);
private static extern Int32 mpz_cmp_d(ref MpzT x, double y);
private static extern void mpz_sub(ref MpzT rop, ref MpzT x, ref MpzT y);
private static extern void mpz_powm(ref MpzT rop, ref MpzT bas, ref MpzT exp, ref MpzT mod);
private static extern void mpz_gcd(ref MpzT rop, ref MpzT op1, ref MpzT op2);
private static extern Int32 mpz_invert(ref MpzT rop, ref MpzT x, ref MpzT y);
private static extern void mpz_fac_ui(ref MpzT rop, UInt32 op);
private static extern void _SchoenhageParallelFactorial(ref MpzT fact, ulong n);
private static extern void mpz_init_set_si(ref MpzT value, Int32 v);