65 }
catch (
const std::bad_alloc&) {
83 for (
size_t i = 1; i <
_terms.size(); ++i) {
87 if (
_terms[last].coef == 0)
113 fputs(str.str().c_str(), out);
117 out <<
"//------- Polynomial:\n";
118 for (
size_t i = 0; i <
_terms.size(); ++i)
120 out <<
"----------\\\\\n";
int reverseLexCompare(const Exponent *a, const Exponent *b, size_t varCount)
Indicates how a relates to b according to the reverse lexicographic term order where .
void clearAndSetVarCount(size_t varCount)
size_t getTermCount() const
size_t getVarCount() const
const Term & getTerm(size_t index) const
vector< CoefTerm > _terms
void sortTermsReverseLex(bool collect=true)
void add(const mpz_class &coef, const Term &term)
const mpz_class & getCoef(size_t index) const
Term represents a product of variables which does not include a coefficient.
size_t getVarCount() const
bool operator<(const CoefTerm &coefTerm) const