Frobby 0.9.5
BigattiState.h
Go to the documentation of this file.
1/* Frobby: Software for monomial ideal computations.
2 Copyright (C) 2009 University of Aarhus
3 Contact Bjarke Hammersholt Roune for license information (www.broune.com)
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 2 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see http://www.gnu.org/licenses/.
17*/
18#ifndef BIGATTI_STATE_GUARD
19#define BIGATTI_STATE_GUARD
20
21#include "Task.h"
22#include "Ideal.h"
23#include "Term.h"
24
26
27class BigattiState : public Task {
28 public:
30 const Ideal& ideal, const Term& _multiply);
31
32 const Ideal& getIdeal() const;
33 const Term& getMultiply() const;
34 size_t getVarCount() const;
35
36 Ideal& getIdeal();
38
40 size_t getTypicalExponent(size_t& var, Exponent& exp);
41 void singleDegreeSort(size_t var);
42
43 void colonStep(const Term& term);
44 void addStep(const Term& term);
45
46 virtual void run(TaskEngine& tasks);
47 virtual void dispose();
48
49 void print(FILE* out);
50 void print(ostream& out);
51
52 private:
56};
57
58#endif
void nameFactoryRegister(NameFactory< AbstractProduct > &factory)
Registers the string returned by ConcreteProduct::getStaticName() to a function that default-construc...
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)
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)
void print(FILE *out)
Represents a monomial ideal with int exponents.
Definition Ideal.h:27
TaskEngine handles a list of tasks that are to be carried out.
Definition TaskEngine.h:40
A Task object represents a unit of work that is performed when the method run() is called.
Definition Task.h:27
Term represents a product of variables which does not include a coefficient.
Definition Term.h:49
unsigned int Exponent
Definition stdinc.h:89