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