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 
27 class 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();
37  Term& getMultiply();
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 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
Definition: BigattiState.h:53
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)
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