27 _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 " bool _useBoundElimination
void extractCliValues(SliceParams &slice, const CliParams &cli)
const string & getSplit() const
bool _useBoundSimplification
static auto_ptr< SplitStrategy > createStrategy(const string &prefix)
Returns the strategy whose name has the given prefix.
void addSliceParams(CliParams ¶ms)
void useIndependenceSplits(bool value)
void useBoundElimination(bool value)
bool hasParam(const string &name) const
bool getBool(const CliParams ¶ms, const string &name)
void setSplit(const string &name)
const string & getString(const CliParams ¶ms, const string &name)
void reportError(const string &errorMsg)
bool _useBoundElimination
void validateSplit(const SliceParams ¶ms, bool allowLabel, bool allowDegree)
bool _useBoundSimplification