32 for (; begin != end; ++begin)
75 for (
size_t var = 1; var <
_varCount; ++var)
135 if (_lessOrEqual.get() != 0) {
136 ASSERT(_greater.get() != 0);
138 _lessOrEqual->strictlyContains(term) ||
139 _greater->strictlyContains(term);
143 ASSERT(_greater.get() == 0);
163 return _root->strictlyContains(term);
168 return _root->getVarCount();
void swap(HilbertSlice &a, HilbertSlice &b)
void nameFactoryRegister(NameFactory< AbstractProduct > &factory)
Registers the string returned by ConcreteProduct::getStaticName() to a function that default-construc...
bool strictlyContains(const Exponent *term) const
size_t getVarCount() const
auto_ptr< Node > _lessOrEqual
auto_ptr< Node > _greater
Node(Ideal::iterator begin, Ideal::iterator end, size_t varCount)
IdealTree(const Ideal &ideal)
auto_ptr< Ideal > _storage
bool strictlyContains(const Exponent *term) const
size_t getVarCount() const
Represents a monomial ideal with int exponents.
Cont::const_iterator const_iterator
size_t getVarCount() const
Term represents a product of variables which does not include a coefficient.
static bool strictlyDivides(const Exponent *a, const Exponent *b, size_t varCount)
Returns whether a strictly divides b.