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

◆ check_coeff_ring()

int check_coeff_ring ( const Ring * coeffR,
const PolyRing * P )

Definition at line 359 of file poly.cpp.

365{
366 int nvars = P->n_vars();
367 if (coeffR != P->getCoefficients())
368 {
369 const PolynomialRing *P0 = coeffR->cast_to_PolynomialRing();
370 if (P0 == nullptr)
371 nvars = -1;
372 else
373 nvars -= P0->n_vars();
374 }
375 if (nvars < 0) ERROR("expected coefficient ring");
376 return nvars;
377}
virtual const Ring * getCoefficients() const
Definition polyring.hpp:277
int n_vars() const
Definition polyring.hpp:196
Abstract base for the engine's polynomial-ring hierarchy.
Definition polyring.hpp:96
virtual const PolynomialRing * cast_to_PolynomialRing() const
Definition ring.hpp:243
const int ERROR
Definition m2-mem.cpp:55

References Ring::cast_to_PolynomialRing(), ERROR, PolynomialRing::getCoefficients(), and PolynomialRing::n_vars().

Referenced by PolyRing::get_coeff(), and PolyRing::list_form().