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);
73 fputs(
"DEBUG: Freeing slice.\n",
_out);
virtual bool getUseSimplification() const
virtual bool getUseSimplification() const =0
virtual void run(const Ideal &ideal)=0
Run the Slice algorithm.
SliceStrategy * _strategy
void print(FILE *file) const
virtual void setUseSimplification(bool use)
This method should only be called before calling run().
Represents a monomial ideal with int exponents.
DebugStrategy(SliceStrategy *strategy, FILE *out)
Debug information is written to out, and every call is delegated to strategy.
virtual bool processSlice(TaskEngine &tasks, auto_ptr< Slice > slice)=0
Process the parameter slice.
virtual void setUseIndependence(bool use)=0
This method should only be called before calling run().
virtual void setUseIndependence(bool use)
This method should only be called before calling run().
virtual void setUseSimplification(bool use)=0
This method should only be called before calling run().
TaskEngine handles a list of tasks that are to be carried out.
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 run(const Ideal &ideal)
Run the Slice algorithm.
This class describes the interface of a strategy object for the Slice Algorithm.
bool processSlice(TaskEngine &tasks, auto_ptr< Slice > slice)
Process the parameter slice.
virtual void freeSlice(auto_ptr< Slice > slice)
It is allowed to delete returned slices directly, but it is better to use freeSlice.