230 {
231 if (mpz_sgn(n) < 0) throw exc::engine_error("can only raise to a nonnegative power");
233 if (n1.first)
234 fmpz_pow_ui(&
result, &a, n1.second);
235 else
236 throw exc::engine_error("exponent too large");
237 }
static std::pair< bool, int > get_si(mpz_srcptr n)
VALGRIND_MAKE_MEM_DEFINED & result(result)