139 void degree_weights(
const std::vector<int> &wts,
int &lo,
int &hi)
const;
171 if (
this == &b)
return true;
174 ERROR(
"cannot compare ring elements from different rings");
Engine-side immutable monomial value type wrapping a varpower- encoded exponent vector.
virtual bool is_unit(const ring_elem f) const =0
virtual bool is_equal(const ring_elem f, const ring_elem g) const =0
virtual bool is_zero(const ring_elem f) const =0
RingElement(const Ring *R, ring_elem f)
RingElement * power(mpz_srcptr n) const
RingElement * operator+(const RingElement &b) const
void text_out(buffer &o) const
RingElement * fraction(const Ring *R, const RingElement *bottom) const
static RingElement * random(const Ring *R)
bool is_homogeneous() const
EngineMonomial * lead_monom(int nvars) const
const_monomial degree() const
RingElement * denominator() const
RingElement * operator/(const RingElement &b) const
RingElement * rest() const
M2_arrayintOrNull getSmallIntegerCoefficients() const
ring_elem get_value() const
bool promote(const Ring *S, const RingElement *&result) const
const RingElement * split_off_content(const RingElement *&result) const
bool multi_degree(monomial d) const
int n_terms(int nvars) const
RingElement * lead_term(int n=-1) const
RingElement * lead_coeff(const Ring *coeffR) const
RingElement * get_terms(int nvars, int lo, int hi) const
RingElement * numerator() const
RingElement * operator-() const
RingElement * invert() const
static RingElement * make_raw(const Ring *R, ring_elem f)
void degree_weights(const std::vector< int > &wts, int &lo, int &hi) const
const RingElement * remove_content() const
RingElement * get_coeff(const Ring *coeffR, const EngineMonomial *m) const
bool lift(const Ring *S, const RingElement *&result) const
bool is_equal(const RingElement &b) const
const RingElement * content() const
const Ring * get_ring() const
virtual unsigned int computeHashValue() const
RingElement * homogenize(int v, const std::vector< int > &wts) const
RingElement * operator*(const RingElement &b) const
Front-end-visible "ring element" value: an engine ring_elem paired with the Ring* that gives it meani...
const int * const_monomial
VALGRIND_MAKE_MEM_DEFINED & result(result)
M2_arrayint M2_arrayintOrNull
Ring — the legacy abstract base class for every coefficient and polynomial ring.