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

◆ power() [2/2]

ring_elem SchurRing::power ( const ring_elem f,
mpz_srcptr n ) const
virtual

Exponentiation. This is the default function, if a class doesn't define this.

Reimplemented from PolyRing.

Definition at line 288 of file schur.cpp.

289{
290 if (mpz_sgn(n) < 0) throw exc::engine_error("element not invertible");
291 std::pair<bool, int> n1 = RingZZ::get_si(n);
292 if (n1.first)
293 return power(f, n1.second);
294 else
295 throw exc::engine_error("exponent too large");
296}
static std::pair< bool, int > get_si(mpz_srcptr n)
Definition ZZ.cpp:46
ring_elem power(const ring_elem f, mpz_srcptr n) const
Exponentiation. This is the default function, if a class doesn't define this.
Definition schur.cpp:288

References RingZZ::get_si(), and power().

Referenced by power().