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 =
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.");
186 printer.beginAction(
"Minimizing ideal.");
192 printer.beginAction(
"Sorting variables for canonical representation.");
void setIdealAndPolyOutput(const CommonParams ¶ms, const BigIdeal &input, CoefBigTermConsumer &output)
Use given ideal and support polynomial output.
static const DataType & getPolynomialType()
Returns the one and only instance for polynomials.
void readIdeal(Scanner &in, BigTermConsumer &consumer)
Read an ideal from in and feed it to consumer.
auto_ptr< CoefTermConsumer > makeToUnivariatePolyConsumer()
bool _produceCanonicalOutput
auto_ptr< CoefTermConsumer > makeTranslatedPolyConsumer()
void readIdealAndSetPolyOutput(const CommonParams ¶ms)
Read input and support polynomial output.
static const DataType & getMonomialIdealListType()
Returns the one and only instance for monomial ideal lists.
void readIdeal(const CommonParams ¶ms, Scanner &in)
This follows the null object pattern.
const string & getOutputFormat() const
Returns the format in which output is produced.
void addPurePowersAtInfinity()
const string & getInputFormat() const
Returns the format used for parsing input.
auto_ptr< IOHandler > createOHandler(const string &input, const string &output)
Returns an IOHandler for the output format.
Represents a monomial ideal with int exponents.
The intention of this class is to describe the different kinds of mathematical structures that Frobby...
auto_ptr< TermConsumer > makeTranslatedIdealConsumer(bool split=false)
void permute(vector< mpz_class > &term)
void beginAction(const char *message)
void setIdealAndIdealOutput(const CommonParams ¶ms, const BigIdeal &input, BigTermConsumer &output)
Use given ideal and support ideal output.
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 readIdealAndSetOutput(const CommonParams ¶ms, const DataType &output)
Read input ideal and support specified kind of output.
void setIdeal(const CommonParams ¶ms, const BigIdeal &ideal)
CoefBigTermConsumer * _polyConsumer
Passes consumed items on in a canonical order.
TermTranslator & getTranslator()
TermTranslator handles translation between terms whose exponents are infinite precision integers and ...
auto_ptr< CoefBigTermConsumer > _polyConsumerDeleter
const char * getName() const
Returns the name of the structure.
A facade for input and output of mathematical objects.
static const DataType & getMonomialIdealType()
Returns the one and only instance for monomial ideals.
auto_ptr< BigTermConsumer > _idealConsumerDeleter
void expectEOF()
Require that there is no more input.
BigTermConsumer * _idealConsumer
This follows the null object pattern.
#define INTERNAL_ERROR(msg)
bool getPrintActions() const
Returns whether to print and time the large-scale actions that Frobby performs.
static const DataType & getNullType()
Returns the one and only instance for null.
auto_ptr< TermTranslator > _translator
bool getIdealIsMinimal() const
Returns whether the input ideal is known to be minimally generated.
bool getProduceCanonicalOutput() const
Returns whether to produce output in a canonical representation.