1815{
1816 if (f == nullptr) return nullptr;
1818 if (P == nullptr) return nullptr;
1821
1822
1826
1828 for (vec g = f; g != nullptr; g = g->next)
1829 {
1831 {
1835 if (val > 0)
1836 {
1842 }
1843 }
1844 }
1850}
exponents::Exponents exponents_t
const Ring * get_ring() const
void to_expvector(const_monomial m, exponents_t result_exp) const
monomial make_one() const
void remove(monomial d) const
void from_expvector(const_exponents exp, monomial result) const
Engine-side commutative monomial monoid: variable names, ordering, multidegree machinery,...
virtual const Monoid * getMonoid() const
virtual ring_elem make_flat_term(const ring_elem a, const_monomial m) const =0
Abstract base for the engine's polynomial-ring hierarchy.
vec make_vec(int r, ring_elem a) const
void vec_sort(vecterm *&f) const
virtual const PolynomialRing * cast_to_PolynomialRing() const
long exponent_table_get(exponent_table *E, const exponent expon)
VALGRIND_MAKE_MEM_DEFINED & result(result)
static void get_part_of_expvector(M2_arrayint vars, exponent big, int comp, exponent result)
const mpreal exp(const mpreal &x, mp_rnd_t r=mpreal::get_default_rnd())
#define newarray_atomic(T, len)
Singly linked-list node carrying one term of a polynomial-ring element.