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