void rpow (const MINT *b, short e, MINT *r) { if (e >= 0) mpz_n_pow_ui (r, PTR(b), (mp_size_t) SIZ(b), (unsigned long) e); else SIZ(r) = 0; }
void mpz_ui_pow_ui (mpz_ptr r, unsigned long b, unsigned long e) { #if GMP_NAIL_BITS != 0 if (b > GMP_NUMB_MAX) { mp_limb_t bb[2]; bb[0] = b & GMP_NUMB_MASK; bb[1] = b >> GMP_NUMB_BITS; mpz_n_pow_ui (r, bb, (mp_size_t) 2, e); }