BigattiState.h
Go to the documentation of this file.
/* Frobby: Software for monomial ideal computations.
Copyright (C) 2009 University of Aarhus
Contact Bjarke Hammersholt Roune for license information (www.broune.com)
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see http://www.gnu.org/licenses/.
*/
#ifndef BIGATTI_STATE_GUARD
#define BIGATTI_STATE_GUARD
#include "Task.h"
#include "Ideal.h"
#include "Term.h"
class BigattiHilbertAlgorithm;
class BigattiState : public Task {
public:
BigattiState(BigattiHilbertAlgorithm* algorithm,
const Ideal& ideal, const Term& _multiply);
const Ideal& getIdeal() const;
const Term& getMultiply() const;
size_t getVarCount() const;
Ideal& getIdeal();
Term& getMultiply();
Exponent getMedianPositiveExponentOf(size_t var);
size_t getTypicalExponent(size_t& var, Exponent& exp);
void singleDegreeSort(size_t var);
void colonStep(const Term& term);
void addStep(const Term& term);
virtual void run(TaskEngine& tasks);
virtual void dispose();
void print(FILE* out);
void print(ostream& out);
private:
BigattiHilbertAlgorithm* _algorithm;
Ideal _ideal;
Term _multiply;
};
#endif
Ideal.h
Task.h
Term.h
BigattiHilbertAlgorithm
Definition BigattiHilbertAlgorithm.h:32
BigattiState::colonStep
void colonStep(const Term &term)
Definition BigattiState.cpp:79
BigattiState::getTypicalExponent
size_t getTypicalExponent(size_t &var, Exponent &exp)
Definition BigattiState.cpp:71
BigattiState::run
virtual void run(TaskEngine &tasks)
Does whatever work this task represents.
Definition BigattiState.cpp:90
BigattiState::getMultiply
const Term & getMultiply() const
Definition BigattiState.cpp:37
BigattiState::_algorithm
BigattiHilbertAlgorithm * _algorithm
Definition BigattiState.h:53
BigattiState::getVarCount
size_t getVarCount() const
Definition BigattiState.cpp:49
BigattiState::addStep
void addStep(const Term &term)
Definition BigattiState.cpp:85
BigattiState::_ideal
Ideal _ideal
Definition BigattiState.h:54
BigattiState::BigattiState
BigattiState(BigattiHilbertAlgorithm *algorithm, const Ideal &ideal, const Term &_multiply)
Definition BigattiState.cpp:24
BigattiState::_multiply
Term _multiply
Definition BigattiState.h:55
BigattiState::getIdeal
const Ideal & getIdeal() const
Definition BigattiState.cpp:33
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::getMedianPositiveExponentOf
Exponent getMedianPositiveExponentOf(size_t var)
Definition BigattiState.cpp:54
BigattiState::singleDegreeSort
void singleDegreeSort(size_t var)
Definition BigattiState.cpp:75
BigattiState::print
void print(FILE *out)
Definition BigattiState.cpp:98
Ideal
Represents a monomial ideal with int exponents.
Definition Ideal.h:27
TaskEngine
TaskEngine handles a list of tasks that are to be carried out.
Definition TaskEngine.h:40
Task
A Task object represents a unit of work that is performed when the method run() is called.
Definition Task.h:27
Term
Term represents a product of variables which does not include a coefficient.
Definition Term.h:49
Exponent
unsigned int Exponent
Definition stdinc.h:89