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;
The purpose of this file is to provide a definition of a hash map whenever possible.
size_t operator()(const Term &t) const
A sparse multivariate polynomial represented by a hash table mapping terms to coefficients.
void add(const mpz_class &coef, const Term &term)
Add coef*term to the polynomial.
size_t getTermCount() const
void clearAndSetVarCount(size_t varCount)
HashMap< Term, mpz_class > TermMap
void feedTo(const TermTranslator &translator, CoefBigTermConsumer &consumer, bool inCanonicalOrder) const
HashPolynomial(size_t varCount=0)
TermTranslator handles translation between terms whose exponents are infinite precision integers and ...
Term represents a product of variables which does not include a coefficient.
static size_t getHashCode(const Exponent *a, size_t varCount)