Macaulay2 Engine
Loading...
Searching...
No Matches

◆ power() [1/2]

ring_elem RingZZ::power ( const ring_elem f,
int n ) const
virtual

Reimplemented from Ring.

Definition at line 275 of file ZZ.cpp.

276{
277 mpz_ptr result = new_elem();
278 if (n<0 && !is_unit(f))
279 throw exc::engine_error("can only raise to a nonnegative power");
280 else
281 {
282 mpz_pow_ui(result, f.get_mpz(), n);
284 }
285 return ring_elem(result);
286}
virtual bool is_unit(const ring_elem f) const
Definition ZZ.cpp:149
mpz_ptr new_elem() const
Definition ZZ.cpp:34
void mpz_reallocate_limbs(mpz_ptr _z)
Definition gmp-util.h:46
VALGRIND_MAKE_MEM_DEFINED & result(result)
mpz_srcptr get_mpz() const
Definition ringelem.hpp:127

References ring_elem::get_mpz(), is_unit(), mpz_reallocate_limbs(), new_elem(), and result().