Go to the documentation of this file.
18 #ifndef HASH_POLYNOMIAL_GUARD
19 #define HASH_POLYNOMIAL_GUARD
49 void add(
const mpz_class& coef,
const Term& term);
53 void add(
bool plus,
const Term& term);
57 bool inCanonicalOrder)
const;
void clearAndSetVarCount(size_t varCount)
A sparse multivariate polynomial represented by a hash table mapping terms to coefficients.
TermTranslator handles translation between terms whose exponents are infinite precision integers and ...
HashMap< Term, mpz_class > TermMap
size_t getTermCount() const
Term represents a product of variables which does not include a coefficient.
void feedTo(const TermTranslator &translator, CoefBigTermConsumer &consumer, bool inCanonicalOrder) const
static size_t getHashCode(const Exponent *a, size_t varCount)
HashPolynomial(size_t varCount=0)
size_t operator()(const Term &t) const
void add(const mpz_class &coef, const Term &term)
Add coef*term to the polynomial.