32 template<
class MyIdeal,
class MyTermCompare>
36 ASSERT(
a.getVarCount() ==
b.getVarCount());
38 for (
size_t term = 0; term <
a.getGeneratorCount(); ++term) {
39 if (term ==
b.getGeneratorCount())
47 ASSERT(
a.getGeneratorCount() <=
b.getGeneratorCount());
53 if (
a.getNames() <
b.getNames())
55 if (
b.getNames() <
a.getNames())
62 ASSERT(
a.getVarCount() ==
b.getVarCount());
void nameFactoryRegister(NameFactory< AbstractProduct > &factory)
Registers the string returned by ConcreteProduct::getStaticName() to a function that default-construc...
static bool bigTermCompare(const vector< mpz_class > &a, const vector< mpz_class > &b)
Represents a monomial ideal with int exponents.
A predicate that sorts according to reverse lexicographic order.
TermTranslator handles translation between terms whose exponents are infinite precision integers and ...
TranslatedIdealComparator(TermTranslator &translator)
A predicate that sorts according to reverse lexicographic order on the translated values of a term.
bool idealLessThan(const BigIdeal &a, const BigIdeal &b)
bool idealLessThanImpl(const MyIdeal &a, const MyIdeal &b, const MyTermCompare &predicate)