Go to the documentation of this file.
46 _produceCanonicalOutput(false) {
59 auto_ptr<IOHandler> outputHandler =
76 string msg =
"Unsupported output type of ";
89 auto_ptr<IOHandler> outputHandler =
102 auto_ptr<IOHandler> outputHandler =
104 _idealConsumerDeleter = outputHandler->createIdealWriter(stdout);
105 _idealConsumer = _idealConsumerDeleter.get();
130 auto_ptr<TermConsumer> translated;
132 auto_ptr<BigTermConsumer> splitter
141 return auto_ptr<TermConsumer>
150 auto_ptr<CoefTermConsumer> translated
153 return auto_ptr<CoefTermConsumer>
160 return auto_ptr<CoefTermConsumer>
180 printer.
beginAction(
"Translating ideal to internal data structure.");
192 printer.
beginAction(
"Sorting variables for canonical representation.");
auto_ptr< CoefTermConsumer > makeTranslatedPolyConsumer()
static const DataType & getMonomialIdealListType()
Returns the one and only instance for monomial ideal lists.
void setIdeal(const CommonParams ¶ms, const BigIdeal &ideal)
static const DataType & getNullType()
Returns the one and only instance for null.
void beginAction(const char *message)
static const DataType & getPolynomialType()
Returns the one and only instance for polynomials.
void readIdealAndSetOutput(const CommonParams ¶ms, const DataType &output)
Read input ideal and support specified kind of output.
void expectEOF()
Require that there is no more input.
This class offers an input interface which is more convenient and for some purposes more efficient th...
void readIdealAndSetIdealOutput(const CommonParams ¶ms)
Read input and support ideal output.
void setIdealAndIdealOutput(const CommonParams ¶ms, const BigIdeal &input, BigTermConsumer &output)
Use given ideal and support ideal output.
This follows the null object pattern.
void readIdeal(const CommonParams ¶ms, Scanner &in)
bool getPrintActions() const
Returns whether to print and time the large-scale actions that Frobby performs.
bool getIdealIsMinimal() const
Returns whether the input ideal is known to be minimally generated.
const string & getOutputFormat() const
Returns the format in which output is produced.
void addPurePowersAtInfinity()
TermTranslator handles translation between terms whose exponents are infinite precision integers and ...
void permute(vector< mpz_class > &term)
void readIdealAndSetPolyOutput(const CommonParams ¶ms)
Read input and support polynomial output.
BigTermConsumer * _idealConsumer
This follows the null object pattern.
auto_ptr< CoefTermConsumer > makeToUnivariatePolyConsumer()
auto_ptr< BigTermConsumer > _idealConsumerDeleter
static const DataType & getMonomialIdealType()
Returns the one and only instance for monomial ideals.
bool getProduceCanonicalOutput() const
Returns whether to produce output in a canonical representation.
const char * getName() const
Returns the name of the structure.
TermTranslator & getTranslator()
void readIdeal(Scanner &in, BigTermConsumer &consumer)
Read an ideal from in and feed it to consumer.
Represents a monomial ideal with int exponents.
void readIdeal(Scanner &in, InputConsumer &consumer, size_t generatorCount, size_t varCount)
bool _produceCanonicalOutput
auto_ptr< IOHandler > createOHandler(const string &input, const string &output)
Returns an IOHandler for the output format.
CoefBigTermConsumer * _polyConsumer
Passes consumed items on in a canonical order.
void setIdealAndPolyOutput(const CommonParams ¶ms, const BigIdeal &input, CoefBigTermConsumer &output)
Use given ideal and support polynomial output.
The intention of this class is to describe the different kinds of mathematical structures that Frobby...
auto_ptr< TermTranslator > _translator
auto_ptr< TermConsumer > makeTranslatedIdealConsumer(bool split=false)
#define INTERNAL_ERROR(msg)
auto_ptr< CoefBigTermConsumer > _polyConsumerDeleter
const string & getInputFormat() const
Returns the format used for parsing input.
const string & getFormat() const
A facade for input and output of mathematical objects.