18 #ifndef SCARF_HILBERT_ALGORITHM_GUARD
19 #define SCARF_HILBERT_ALGORITHM_GUARD
36 auto_ptr<IdealOrderer> enumerationOrder,
37 auto_ptr<IdealOrderer> deformationOrder);
57 size_t& activeStateCount);
Cont::const_iterator const_iterator
void runGeneric(const Ideal &ideal, CoefBigTermConsumer &consumer, bool univariate, bool canonical)
bool doEnumerationStep(const Ideal &ideal, const IdealTree &tree, State &state, State &nextState)
void doEnumerationBaseCase(const State &state, CoefTermConsumer &consumer)
ScarfHilbertAlgorithm(const TermTranslator &translator, const ScarfParams ¶ms, auto_ptr< IdealOrderer > enumerationOrder, auto_ptr< IdealOrderer > deformationOrder)
Represents a monomial ideal with int exponents.
void initializeEnumeration(const Ideal &ideal, size_t &activeStateCount)
const auto_ptr< IdealOrderer > _deformationOrder
Objects of this class represents a monomial ideal.
const ScarfParams & _params
const auto_ptr< IdealOrderer > _enumerationOrder
TermTranslator handles translation between terms whose exponents are infinite precision integers and ...
Ideal::const_iterator pos
const TermTranslator & _translator
void enumerateScarfComplex(const Ideal &ideal, CoefTermConsumer &consumer)
vector< Exponent * > face
Term represents a product of variables which does not include a coefficient.