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

◆ degree_of_var()

void PolyRing::degree_of_var ( int n,
const ring_elem a,
int & lo,
int & hi ) const
virtual

Implements PolynomialRing.

Definition at line 2115 of file poly.cpp.

2116{
2117 Nterm *t = a;
2118 if (t == nullptr)
2119 {
2120 ERROR("attempting to find degree of a zero element");
2121 return;
2122 }
2124 M_->to_expvector(t->monom, exp);
2125 lo = hi = exp[n];
2126 for (t = t->next; t != nullptr; t = t->next)
2127 {
2128 M_->to_expvector(t->monom, exp);
2129 if (exp[n] < lo)
2130 lo = exp[n];
2131 else if (exp[n] > hi)
2132 hi = exp[n];
2133 }
2134 freemem(exp);
2135}
exponents::Exponents exponents_t
const Monoid * M_
Definition polyring.hpp:124
int n_vars() const
Definition polyring.hpp:196
void freemem(void *s)
Definition m2-mem.cpp:103
const int ERROR
Definition m2-mem.cpp:55
const mpreal exp(const mpreal &x, mp_rnd_t r=mpreal::get_default_rnd())
Definition mpreal.h:2298
#define newarray_atomic(T, len)
Definition newdelete.hpp:91
Nterm * next
Definition ringelem.hpp:157
int monom[1]
Definition ringelem.hpp:160

References ERROR, freemem(), PolynomialRing::M_, Nterm::monom, PolynomialRing::n_vars(), newarray_atomic, and Nterm::next.