Frobby  0.9.0
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
BigattiState::getMedianPositiveExponentOf
Exponent getMedianPositiveExponentOf(size_t var)
Definition: BigattiState.cpp:54
BigattiState::_ideal
Ideal _ideal
Definition: BigattiState.h:54
BigattiState::_algorithm
BigattiHilbertAlgorithm * _algorithm
Definition: BigattiState.h:53
BigattiState::singleDegreeSort
void singleDegreeSort(size_t var)
Definition: BigattiState.cpp:75
Task.h
BigattiState
Definition: BigattiState.h:27
BigattiState::_multiply
Term _multiply
Definition: BigattiState.h:55
Term.h
Exponent
unsigned int Exponent
Definition: stdinc.h:88
TaskEngine
TaskEngine handles a list of tasks that are to be carried out.
Definition: TaskEngine.h:40
Ideal.h
BigattiHilbertAlgorithm
Definition: BigattiHilbertAlgorithm.h:32
Task
A Task object represents a unit of work that is performed when the method run() is called.
Definition: Task.h:27
BigattiState::colonStep
void colonStep(const Term &term)
Definition: BigattiState.cpp:79
Term
Term represents a product of variables which does not include a coefficient.
Definition: Term.h:49
BigattiState::getMultiply
const Term & getMultiply() const
Definition: BigattiState.cpp:37
BigattiState::getIdeal
const Ideal & getIdeal() const
Definition: BigattiState.cpp:33
BigattiState::getTypicalExponent
size_t getTypicalExponent(size_t &var, Exponent &exp)
Definition: BigattiState.cpp:71
BigattiState::addStep
void addStep(const Term &term)
Definition: BigattiState.cpp:85
BigattiState::run
virtual void run(TaskEngine &tasks)
Does whatever work this task represents.
Definition: BigattiState.cpp:90
BigattiState::BigattiState
BigattiState(BigattiHilbertAlgorithm *algorithm, const Ideal &ideal, const Term &_multiply)
Definition: BigattiState.cpp:24
Ideal
Represents a monomial ideal with int exponents.
Definition: Ideal.h:27
BigattiState::print
void print(FILE *out)
Definition: BigattiState.cpp:98
BigattiState::dispose
virtual void dispose()
Called when the task is no longer used but run has not and will not be called.
Definition: BigattiState.cpp:94
BigattiState::getVarCount
size_t getVarCount() const
Definition: BigattiState.cpp:49