60 while ((*begin)[var] == 0) {
66 Exponent median = (*(begin + (distance(begin, end) - 1) / 2))[var];
void nameFactoryRegister(NameFactory< AbstractProduct > &factory)
Registers the string returned by ConcreteProduct::getStaticName() to a function that default-construc...
void freeState(auto_ptr< BigattiState > state)
void processState(auto_ptr< BigattiState > state)
void colonStep(const Term &term)
size_t getTypicalExponent(size_t &var, Exponent &exp)
virtual void run(TaskEngine &tasks)
Does whatever work this task represents.
const Term & getMultiply() const
BigattiHilbertAlgorithm * _algorithm
size_t getVarCount() const
void addStep(const Term &term)
BigattiState(BigattiHilbertAlgorithm *algorithm, const Ideal &ideal, const Term &_multiply)
const Ideal & getIdeal() const
virtual void dispose()
Called when the task is no longer used but run has not and will not be called.
Exponent getMedianPositiveExponentOf(size_t var)
void singleDegreeSort(size_t var)
Represents a monomial ideal with int exponents.
void singleDegreeSort(size_t var)
Cont::const_iterator const_iterator
size_t getTypicalExponent(size_t &var, Exponent &exp)
Sets var and exp such that var^exp is the typical non-zero exponent.
void insertReminimize(const Exponent *term)
const_iterator end() const
const_iterator begin() const
bool colonReminimize(const Exponent *colon)
size_t getVarCount() const
TaskEngine handles a list of tasks that are to be carried out.
Term represents a product of variables which does not include a coefficient.
static void product(Exponent *res, const Exponent *a, const Exponent *b, size_t varCount)
Sets res equal to the product of a and b.
size_t getVarCount() const