26 fputs(
"DEBUG: Starting slice computation.\n",
_out);
33 fputs(
"DEBUG: Starting Slice Algorithm. Input ideal is:\n",
_out);
38 fputs(
"DEBUG: Slice computation done.\n",
_out);
42 fputs(
"DEBUG: Processing slice.\n",
_out);
46 fputs(
"DEBUG: Determined that slice is base case.\n",
_out);
48 fputs(
"DEBUG: Determined that slice is not base case.\n",
_out);
54 fputs(
"DEBUG: Turning on independence splits.",
_out);
56 fputs(
"DEBUG: Turning off independence splits.",
_out);
62 fputs(
"DEBUG: Turning on simplification.",
_out);
64 fputs(
"DEBUG: Turning off simplification.",
_out);
void nameFactoryRegister(NameFactory< AbstractProduct > &factory)
Registers the string returned by ConcreteProduct::getStaticName() to a function that default-construc...
virtual void run(const Ideal &ideal)
Run the Slice algorithm.
virtual void freeSlice(auto_ptr< Slice > slice)
It is allowed to delete returned slices directly, but it is better to use freeSlice.
bool processSlice(TaskEngine &tasks, auto_ptr< Slice > slice)
Process the parameter slice.
virtual void setUseIndependence(bool use)
This method should only be called before calling run().
SliceStrategy * _strategy
virtual bool getUseSimplification() const
DebugStrategy(SliceStrategy *strategy, FILE *out)
Debug information is written to out, and every call is delegated to strategy.
virtual void setUseSimplification(bool use)
This method should only be called before calling run().
Represents a monomial ideal with int exponents.
void print(FILE *file) const
This class describes the interface of a strategy object for the Slice Algorithm.
virtual void setUseSimplification(bool use)=0
This method should only be called before calling run().
virtual void freeSlice(auto_ptr< Slice > slice)=0
It is allowed to delete returned slices directly, but it is better to use freeSlice.
virtual void setUseIndependence(bool use)=0
This method should only be called before calling run().
virtual bool processSlice(TaskEngine &tasks, auto_ptr< Slice > slice)=0
Process the parameter slice.
virtual bool getUseSimplification() const =0
virtual void run(const Ideal &ideal)=0
Run the Slice algorithm.
TaskEngine handles a list of tasks that are to be carried out.