Frobby
0.9.5
|
#include <HilbertStrategy.h>
Public Member Functions | |
HilbertStrategy (CoefTermConsumer *consumer, const SplitStrategy *splitStrategy) | |
virtual void | run (const Ideal &ideal) |
Run the Slice algorithm. More... | |
virtual bool | processSlice (TaskEngine &tasks, auto_ptr< Slice > slice) |
Process the parameter slice. More... | |
void | freeConsumer (auto_ptr< HilbertIndependenceConsumer > consumer) |
Public Member Functions inherited from SliceStrategyCommon | |
SliceStrategyCommon (const SplitStrategy *splitStrategy) | |
virtual | ~SliceStrategyCommon () |
virtual void | freeSlice (auto_ptr< Slice > slice) |
It is allowed to delete returned slices directly, but it is better to use freeSlice. More... | |
virtual void | setUseIndependence (bool use) |
This method should only be called before calling run(). More... | |
virtual void | setUseSimplification (bool use) |
This method should only be called before calling run(). More... | |
Public Member Functions inherited from SliceStrategy | |
virtual | ~SliceStrategy () |
Private Member Functions | |
auto_ptr< HilbertIndependenceConsumer > | newConsumer () |
auto_ptr< HilbertSlice > | newHilbertSlice () |
virtual auto_ptr< Slice > | allocateSlice () |
Directly allocate a slice of the correct type using new. More... | |
virtual bool | debugIsValidSlice (Slice *slice) |
Check that this slice is valid for use with this strategy. More... | |
virtual void | getPivot (Term &term, Slice &slice) |
Used by pivotSplit to obtain a pivot. More... | |
void | independenceSplit (auto_ptr< Slice > slice) |
Private Attributes | |
IndependenceSplitter | _indepSplitter |
vector< HilbertIndependenceConsumer * > | _consumerCache |
ElementDeleter< vector< HilbertIndependenceConsumer * > > | _consumerCacheDeleter |
CoefTermConsumer * | _consumer |
bool | _useIndependence |
Additional Inherited Members | |
Protected Member Functions inherited from SliceStrategyCommon | |
virtual bool | simplify (Slice &slice) |
Simplifies slice and returns true if it changed. More... | |
auto_ptr< Slice > | newSlice () |
Returns a slice from the cache that freeSlice adds to, or allocate a new one using allocateSlice. More... | |
virtual void | pivotSplit (auto_ptr< Slice > slice) |
Takes over ownership of slice. More... | |
bool | getUseIndependence () const |
Returns true if independence splits should be performed when possible. More... | |
bool | getUseSimplification () const |
Returns true if slices should be simplified. More... | |
Protected Attributes inherited from SliceStrategyCommon | |
const SplitStrategy * | _split |
TaskEngine | _tasks |
This keeps track of pending tasks to process. More... | |
Definition at line 33 of file HilbertStrategy.h.
HilbertStrategy::HilbertStrategy | ( | CoefTermConsumer * | consumer, |
const SplitStrategy * | splitStrategy | ||
) |
Definition at line 29 of file HilbertStrategy.cpp.
|
privatevirtual |
Directly allocate a slice of the correct type using new.
Implements SliceStrategyCommon.
Definition at line 92 of file HilbertStrategy.cpp.
|
privatevirtual |
Check that this slice is valid for use with this strategy.
No check need be performed unless DEBUG is defined, making it acceptable to check things using ASSERT. This method should not be called if DEBUG is not defined.
Implements SliceStrategyCommon.
Definition at line 96 of file HilbertStrategy.cpp.
void HilbertStrategy::freeConsumer | ( | auto_ptr< HilbertIndependenceConsumer > | consumer | ) |
Definition at line 108 of file HilbertStrategy.cpp.
Used by pivotSplit to obtain a pivot.
Implements SliceStrategyCommon.
Definition at line 102 of file HilbertStrategy.cpp.
|
private |
Definition at line 119 of file HilbertStrategy.cpp.
|
private |
Definition at line 147 of file HilbertStrategy.cpp.
|
private |
Definition at line 86 of file HilbertStrategy.cpp.
|
virtual |
Process the parameter slice.
Returns true if this is a base case and false otherwise.
Implements SliceStrategy.
Definition at line 66 of file HilbertStrategy.cpp.
|
virtual |
Run the Slice algorithm.
Implements SliceStrategy.
Definition at line 37 of file HilbertStrategy.cpp.
|
private |
Definition at line 59 of file HilbertStrategy.h.
|
private |
Definition at line 56 of file HilbertStrategy.h.
|
private |
Definition at line 57 of file HilbertStrategy.h.
|
private |
Definition at line 53 of file HilbertStrategy.h.
|
private |
Definition at line 60 of file HilbertStrategy.h.