19 #ifndef TERM_ORDER_GUARD 20 #define TERM_ORDER_GUARD 68 bool operator()(
const T& a,
const T& b)
const {
return _pred(a, b);}
101 static const char* staticGetName();
115 static const char* staticGetName();
133 return a[_var] < b[_var];
148 return a[_var] > b[_var];
virtual bool doPredicate(const Exponent *a, const Exponent *b) const =0
StlTermPredicate(const TermPredicate &pred)
size_t getVarCount() const
bool operator()(const Term &a, const Exponent *b) const
size_t getVarCount() const
virtual bool doPredicate(const Exponent *a, const Exponent *b) const
A predicate that sorts terms in weakly ascending order according to degree of the specified variable...
TermPredicate(size_t varCount=0)
bool operator()(const Exponent *a, const Exponent *b) const
virtual bool doPredicate(const Exponent *a, const Exponent *b) const
bool operator()(const Exponent *a, const Term &b) const
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 ...
Adapter for TermPredicate which allows it to be used as a predicate in STL.
int lexCompare(const Exponent *a, const Exponent *b, size_t varCount)
Indicates how a relates to b according to the lexicographic term order where .
A predicate that sorts terms in weakly descending order according to degree of the specified variable...
virtual bool doPredicate(const Exponent *a, const Exponent *b) const
bool operator()(const T &a, const T &b) const
virtual bool doPredicate(const Exponent *a, const Exponent *b) const
A predicate that compares for equality.
const TermPredicate & _pred
auto_ptr< TermPredicate > createTermPredicate(const string &prefix, size_t varCount=0)
Returns the predicate whose name has the given prefix.
bool equals(const Exponent *a, const Exponent *b, size_t varCount)
Returns whether the entries of a are equal to the entries of b.
void setVarCount(size_t varCount)
virtual bool doPredicate(const Exponent *a, const Exponent *b) const
bool operator()(const Term &a, const Term &b) const
Term represents a product of variables which does not include a coefficient.
A predicate that sorts according to reverse lexicographic order.
A predicate that sorts terms according to lexicographic order.