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

◆ n_terms()

int RingElement::n_terms ( int nvars) const

Definition at line 25 of file relem.cpp.

26{
27 const PolynomialRing *P = R->cast_to_PolynomialRing();
28 if (is_zero()) return 0;
29 if (P != nullptr)
30 {
31 return P->n_logical_terms(nvars, val);
32 }
33 auto Q = dynamic_cast<const M2FreeAlgebra *>(R);
34 if (Q != nullptr)
35 {
36 return Q->n_terms(val);
37 }
38
39 return 1;
40}
virtual int n_logical_terms(int nvars0, const ring_elem f) const =0
ring_elem val
Definition relem.hpp:69
bool is_zero() const
Definition relem.hpp:167
const Ring * R
Definition relem.hpp:68

References is_zero(), PolynomialRing::n_logical_terms(), R, and val.

Referenced by IM2_RingElement_n_terms().