59 unique_ptr<IOHandler> outputHandler =
76 string msg =
"Unsupported output type of ";
89 unique_ptr<IOHandler> outputHandler =
102 unique_ptr<IOHandler> outputHandler =
130 unique_ptr<TermConsumer> translated;
132 unique_ptr<BigTermConsumer> splitter
141 return unique_ptr<TermConsumer>
150 unique_ptr<CoefTermConsumer> translated
153 return unique_ptr<CoefTermConsumer>
160 return unique_ptr<CoefTermConsumer>
180 printer.
beginAction(
"Translating ideal to internal data structure.");
192 printer.
beginAction(
"Sorting variables for canonical representation.");
unique_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.
TermTranslator & getTranslator()
void setIdeal(const CommonParams ¶ms, const BigIdeal &ideal)
unique_ptr< TermConsumer > makeTranslatedIdealConsumer(bool split=false)
bool _produceCanonicalOutput
void readIdeal(const CommonParams ¶ms, Scanner &in)
void addPurePowersAtInfinity()
unique_ptr< CoefBigTermConsumer > _polyConsumerDeleter
void setIdealAndIdealOutput(const CommonParams ¶ms, const BigIdeal &input, BigTermConsumer &output)
Use given ideal and support ideal output.
unique_ptr< Ideal > _ideal
unique_ptr< BigTermConsumer > _idealConsumerDeleter
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.
BigTermConsumer * _idealConsumer
unique_ptr< CoefTermConsumer > makeTranslatedPolyConsumer()
unique_ptr< CoefTermConsumer > makeToUnivariatePolyConsumer()
void setIdealAndPolyOutput(const CommonParams ¶ms, const BigIdeal &input, CoefBigTermConsumer &output)
Use given ideal and support polynomial output.
CoefBigTermConsumer * _polyConsumer
unique_ptr< TermTranslator > _translator
const string & getInputFormat() const
Returns the format used for parsing input.
const string & getOutputFormat() const
Returns the format in which output is produced.
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...
void expectEOF()
Require that there is no more input.
const string & getFormat() const
TermTranslator handles translation between terms whose exponents are infinite precision integers and ...
#define INTERNAL_ERROR(msg)
This header file includes common definitions and is included as the first line of code in every imple...
void permute(vector< mpz_class > &term)