Go to the documentation of this file.
42 _bigTmpTerm(names.getVarCount()),
43 _tmpTerm(names.getVarCount()) {
74 for (
size_t var = 0; var < varCount; ++var) {
82 if (done[nextInCycle])
bool operator()(size_t a, size_t b) const
void swapVariables(size_t a, size_t b)
VarSorterCompare(const VarNames &names)
void operator=(const VarSorterCompare &)
void swap(hashtable< _Val, _Key, _HF, _Extract, _EqKey, _All > &__ht1, hashtable< _Val, _Key, _HF, _Extract, _EqKey, _All > &__ht2)
const string & getName(size_t index) const
The returned reference can become invalid next time addVar is called.
TermTranslator handles translation between terms whose exponents are infinite precision integers and ...
void permute(vector< mpz_class > &term)
size_t getVarCount() const
size_t getVarCount() const
Returns the current number of variables.
void clear()
Resets the number of variables to zero.
VarSorter(const VarNames &names)
vector< mpz_class > _bigTmpTerm
Defines the variables of a polynomial ring and facilities IO involving them.
vector< size_t > _permutation
bool addVar(const string &name)
Adds the variable and returns true if name is not already a variable.
void getOrderedNames(VarNames &names)