27 _useIndependence(true),
34 _useIndependence(true),
41 const char* SplitParamName =
"split";
42 const char* UseIndependenceName =
"independence";
43 const char* UseBoundElimination =
"bound";
44 const char* UseBoundSimplification =
"boundSimplify";
53 if (cli.
hasParam(UseIndependenceName))
55 if (cli.
hasParam(UseBoundElimination))
57 if (cli.
hasParam(UseBoundSimplification))
64 auto_ptr<SplitStrategy>
68 if (!allowLabel && split->isLabelSplit())
69 reportError(
"Label split strategy is not appropriate "
74 if (!allowDegree && params.
getSplit() ==
"degree") {
75 reportError(
"The split strategy degree is not appropriate "
80 if (!allowDegree && params.
getSplit() ==
"frob") {
81 reportError(
"The split strategy frob is not appropriate "
const string & getString(const CliParams ¶ms, const string &name)
bool getBool(const CliParams ¶ms, const string &name)
bool _useBoundSimplification
bool _useBoundElimination
void validateSplit(const SliceParams ¶ms, bool allowLabel, bool allowDegree)
void addSliceParams(CliParams ¶ms)
void extractCliValues(SliceParams &slice, const CliParams &cli)
bool hasParam(const string &name) const
void useIndependenceSplits(bool value)
void setSplit(const string &name)
void useBoundElimination(bool value)
const string & getSplit() const
static auto_ptr< SplitStrategy > createStrategy(const string &prefix)
Returns the strategy whose name has the given prefix.
void reportError(const string &errorMsg)