1 |
|
/****************************************************************************** |
2 |
|
* Top contributors (to current version): |
3 |
|
* Mathias Preiner, Aina Niemetz |
4 |
|
* |
5 |
|
* This file is part of the cvc5 project. |
6 |
|
* |
7 |
|
* Copyright (c) 2009-2021 by the authors listed in the file AUTHORS |
8 |
|
* in the top-level source directory and their institutional affiliations. |
9 |
|
* All rights reserved. See the file COPYING in the top-level source |
10 |
|
* directory for licensing information. |
11 |
|
* **************************************************************************** |
12 |
|
* |
13 |
|
* Contains code for handling command-line options. |
14 |
|
* |
15 |
|
* For each <module>_options.toml configuration file, mkoptions.py |
16 |
|
* expands this template and generates a <module>_options.h file. |
17 |
|
*/ |
18 |
|
|
19 |
|
#include "cvc5_private.h" |
20 |
|
|
21 |
|
#ifndef CVC5__OPTIONS__ARITH_H |
22 |
|
#define CVC5__OPTIONS__ARITH_H |
23 |
|
|
24 |
|
#include "options/options.h" |
25 |
|
|
26 |
|
// clang-format off |
27 |
|
|
28 |
|
// clang-format on |
29 |
|
|
30 |
|
namespace cvc5::options { |
31 |
|
|
32 |
|
// clang-format off |
33 |
|
enum class ArithPropagationMode |
34 |
|
{ |
35 |
|
BOUND_INFERENCE_PROP, NO_PROP, BOTH_PROP, UNATE_PROP |
36 |
|
}; |
37 |
|
static constexpr size_t ArithPropagationMode__numValues = 4; |
38 |
|
std::ostream& operator<<(std::ostream& os, ArithPropagationMode mode); |
39 |
|
ArithPropagationMode stringToArithPropagationMode(const std::string& optarg); |
40 |
|
|
41 |
|
enum class ErrorSelectionRule |
42 |
|
{ |
43 |
|
SUM_METRIC, MAXIMUM_AMOUNT, VAR_ORDER, MINIMUM_AMOUNT |
44 |
|
}; |
45 |
|
static constexpr size_t ErrorSelectionRule__numValues = 4; |
46 |
|
std::ostream& operator<<(std::ostream& os, ErrorSelectionRule mode); |
47 |
|
ErrorSelectionRule stringToErrorSelectionRule(const std::string& optarg); |
48 |
|
|
49 |
|
enum class NlCadLiftingMode |
50 |
|
{ |
51 |
|
LAZARD, REGULAR |
52 |
|
}; |
53 |
|
static constexpr size_t NlCadLiftingMode__numValues = 2; |
54 |
|
std::ostream& operator<<(std::ostream& os, NlCadLiftingMode mode); |
55 |
|
NlCadLiftingMode stringToNlCadLiftingMode(const std::string& optarg); |
56 |
|
|
57 |
|
enum class NlCadProjectionMode |
58 |
|
{ |
59 |
|
LAZARD, LAZARDMOD, MCCALLUM |
60 |
|
}; |
61 |
|
static constexpr size_t NlCadProjectionMode__numValues = 3; |
62 |
|
std::ostream& operator<<(std::ostream& os, NlCadProjectionMode mode); |
63 |
|
NlCadProjectionMode stringToNlCadProjectionMode(const std::string& optarg); |
64 |
|
|
65 |
|
enum class NlExtMode |
66 |
|
{ |
67 |
|
FULL, LIGHT, NONE |
68 |
|
}; |
69 |
|
static constexpr size_t NlExtMode__numValues = 3; |
70 |
|
std::ostream& operator<<(std::ostream& os, NlExtMode mode); |
71 |
|
NlExtMode stringToNlExtMode(const std::string& optarg); |
72 |
|
|
73 |
|
enum class NlRlvMode |
74 |
|
{ |
75 |
|
INTERLEAVE, ALWAYS, NONE |
76 |
|
}; |
77 |
|
static constexpr size_t NlRlvMode__numValues = 3; |
78 |
|
std::ostream& operator<<(std::ostream& os, NlRlvMode mode); |
79 |
|
NlRlvMode stringToNlRlvMode(const std::string& optarg); |
80 |
|
|
81 |
|
enum class ArithUnateLemmaMode |
82 |
|
{ |
83 |
|
NO, INEQUALITY, EQUALITY, ALL |
84 |
|
}; |
85 |
|
static constexpr size_t ArithUnateLemmaMode__numValues = 4; |
86 |
|
std::ostream& operator<<(std::ostream& os, ArithUnateLemmaMode mode); |
87 |
|
ArithUnateLemmaMode stringToArithUnateLemmaMode(const std::string& optarg); |
88 |
|
|
89 |
|
// clang-format on |
90 |
|
|
91 |
|
#if defined(CVC5_MUZZLED) || defined(CVC5_COMPETITION_MODE) |
92 |
|
# define DO_SEMANTIC_CHECKS_BY_DEFAULT false |
93 |
|
#else /* CVC5_MUZZLED || CVC5_COMPETITION_MODE */ |
94 |
|
# define DO_SEMANTIC_CHECKS_BY_DEFAULT true |
95 |
|
#endif /* CVC5_MUZZLED || CVC5_COMPETITION_MODE */ |
96 |
|
|
97 |
18104 |
struct HolderARITH |
98 |
|
{ |
99 |
|
// clang-format off |
100 |
|
int64_t maxApproxDepth = 200; |
101 |
|
bool maxApproxDepthWasSetByUser = false; |
102 |
|
bool brabTest = true; |
103 |
|
bool brabTestWasSetByUser = false; |
104 |
|
bool arithCongMan = true; |
105 |
|
bool arithCongManWasSetByUser = false; |
106 |
|
bool arithEqSolver = false; |
107 |
|
bool arithEqSolverWasSetByUser = false; |
108 |
|
bool arithNoPartialFun = false; |
109 |
|
bool arithNoPartialFunWasSetByUser = false; |
110 |
|
ArithPropagationMode arithPropagationMode = ArithPropagationMode::BOTH_PROP; |
111 |
|
bool arithPropagationModeWasSetByUser = false; |
112 |
|
uint64_t arithPropAsLemmaLength = 8; |
113 |
|
bool arithPropAsLemmaLengthWasSetByUser = false; |
114 |
|
bool arithRewriteEq = false; |
115 |
|
bool arithRewriteEqWasSetByUser = false; |
116 |
|
bool collectPivots = false; |
117 |
|
bool collectPivotsWasSetByUser = false; |
118 |
|
bool doCutAllBounded = false; |
119 |
|
bool doCutAllBoundedWasSetByUser = false; |
120 |
|
bool exportDioDecompositions = false; |
121 |
|
bool exportDioDecompositionsWasSetByUser = false; |
122 |
|
bool arithDioSolver = true; |
123 |
|
bool arithDioSolverWasSetByUser = false; |
124 |
|
int64_t dioSolverTurns = 10; |
125 |
|
bool dioSolverTurnsWasSetByUser = false; |
126 |
|
ErrorSelectionRule arithErrorSelectionRule = ErrorSelectionRule::MINIMUM_AMOUNT; |
127 |
|
bool arithErrorSelectionRuleWasSetByUser = false; |
128 |
|
bool havePenalties = false; |
129 |
|
bool havePenaltiesWasSetByUser = false; |
130 |
|
int64_t arithHeuristicPivots = 0; |
131 |
|
bool arithHeuristicPivotsWasSetByUser = false; |
132 |
|
bool replayFailureLemma = false; |
133 |
|
bool replayFailureLemmaWasSetByUser = false; |
134 |
|
uint64_t maxCutsInContext = 65535; |
135 |
|
bool maxCutsInContextWasSetByUser = false; |
136 |
|
bool arithMLTrick = false; |
137 |
|
bool arithMLTrickWasSetByUser = false; |
138 |
|
uint64_t arithMLTrickSubstitutions = 1; |
139 |
|
bool arithMLTrickSubstitutionsWasSetByUser = false; |
140 |
|
bool newProp = true; |
141 |
|
bool newPropWasSetByUser = false; |
142 |
|
bool nlCad = false; |
143 |
|
bool nlCadWasSetByUser = false; |
144 |
|
bool nlCadUseInitial = false; |
145 |
|
bool nlCadUseInitialWasSetByUser = false; |
146 |
|
NlCadLiftingMode nlCadLifting = NlCadLiftingMode::REGULAR; |
147 |
|
bool nlCadLiftingWasSetByUser = false; |
148 |
|
NlCadProjectionMode nlCadProjection = NlCadProjectionMode::MCCALLUM; |
149 |
|
bool nlCadProjectionWasSetByUser = false; |
150 |
|
NlExtMode nlExt = NlExtMode::FULL; |
151 |
|
bool nlExtWasSetByUser = false; |
152 |
|
bool nlExtEntailConflicts = false; |
153 |
|
bool nlExtEntailConflictsWasSetByUser = false; |
154 |
|
bool nlExtFactor = true; |
155 |
|
bool nlExtFactorWasSetByUser = false; |
156 |
|
bool nlExtIncPrecision = true; |
157 |
|
bool nlExtIncPrecisionWasSetByUser = false; |
158 |
|
bool nlExtPurify = false; |
159 |
|
bool nlExtPurifyWasSetByUser = false; |
160 |
|
bool nlExtResBound = false; |
161 |
|
bool nlExtResBoundWasSetByUser = false; |
162 |
|
bool nlExtRewrites = true; |
163 |
|
bool nlExtRewritesWasSetByUser = false; |
164 |
|
bool nlExtSplitZero = false; |
165 |
|
bool nlExtSplitZeroWasSetByUser = false; |
166 |
|
int64_t nlExtTfTaylorDegree = 4; |
167 |
|
bool nlExtTfTaylorDegreeWasSetByUser = false; |
168 |
|
bool nlExtTfTangentPlanes = true; |
169 |
|
bool nlExtTfTangentPlanesWasSetByUser = false; |
170 |
|
bool nlExtTangentPlanes = false; |
171 |
|
bool nlExtTangentPlanesWasSetByUser = false; |
172 |
|
bool nlExtTangentPlanesInterleave = false; |
173 |
|
bool nlExtTangentPlanesInterleaveWasSetByUser = false; |
174 |
|
bool nlICP = false; |
175 |
|
bool nlICPWasSetByUser = false; |
176 |
|
NlRlvMode nlRlvMode = NlRlvMode::NONE; |
177 |
|
bool nlRlvModeWasSetByUser = false; |
178 |
|
bool nlRlvAssertBounds = false; |
179 |
|
bool nlRlvAssertBoundsWasSetByUser = false; |
180 |
|
bool pbRewrites = false; |
181 |
|
bool pbRewritesWasSetByUser = false; |
182 |
|
uint64_t arithPivotThreshold = 2; |
183 |
|
bool arithPivotThresholdWasSetByUser = false; |
184 |
|
uint64_t ppAssertMaxSubSize = 2; |
185 |
|
bool ppAssertMaxSubSizeWasSetByUser = false; |
186 |
|
uint64_t arithPropagateMaxLength = 16; |
187 |
|
bool arithPropagateMaxLengthWasSetByUser = false; |
188 |
|
int64_t replayEarlyCloseDepths = 1; |
189 |
|
bool replayEarlyCloseDepthsWasSetByUser = false; |
190 |
|
uint64_t lemmaRejectCutSize = 25500; |
191 |
|
bool lemmaRejectCutSizeWasSetByUser = false; |
192 |
|
int64_t replayNumericFailurePenalty = 4194304; |
193 |
|
bool replayNumericFailurePenaltyWasSetByUser = false; |
194 |
|
uint64_t replayRejectCutSize = 25500; |
195 |
|
bool replayRejectCutSizeWasSetByUser = false; |
196 |
|
bool restrictedPivots = true; |
197 |
|
bool restrictedPivotsWasSetByUser = false; |
198 |
|
bool revertArithModels = false; |
199 |
|
bool revertArithModelsWasSetByUser = false; |
200 |
|
int64_t rrTurns = 3; |
201 |
|
bool rrTurnsWasSetByUser = false; |
202 |
|
bool trySolveIntStandardEffort = false; |
203 |
|
bool trySolveIntStandardEffortWasSetByUser = false; |
204 |
|
uint64_t arithSimplexCheckPeriod = 200; |
205 |
|
bool arithSimplexCheckPeriodWasSetByUser = false; |
206 |
|
bool soiQuickExplain = false; |
207 |
|
bool soiQuickExplainWasSetByUser = false; |
208 |
|
int64_t arithStandardCheckVarOrderPivots = -1; |
209 |
|
bool arithStandardCheckVarOrderPivotsWasSetByUser = false; |
210 |
|
ArithUnateLemmaMode arithUnateLemmaMode = ArithUnateLemmaMode::ALL; |
211 |
|
bool arithUnateLemmaModeWasSetByUser = false; |
212 |
|
bool useApprox = false; |
213 |
|
bool useApproxWasSetByUser = false; |
214 |
|
bool useFC = false; |
215 |
|
bool useFCWasSetByUser = false; |
216 |
|
bool useSOI = false; |
217 |
|
bool useSOIWasSetByUser = false; |
218 |
|
// clang-format on |
219 |
|
}; |
220 |
|
|
221 |
|
#undef DO_SEMANTIC_CHECKS_BY_DEFAULT |
222 |
|
|
223 |
|
// clang-format off |
224 |
|
inline int64_t maxApproxDepth() { return Options::current().arith.maxApproxDepth; } |
225 |
|
inline bool brabTest() { return Options::current().arith.brabTest; } |
226 |
|
inline bool arithCongMan() { return Options::current().arith.arithCongMan; } |
227 |
12554 |
inline bool arithEqSolver() { return Options::current().arith.arithEqSolver; } |
228 |
353 |
inline bool arithNoPartialFun() { return Options::current().arith.arithNoPartialFun; } |
229 |
|
inline ArithPropagationMode arithPropagationMode() { return Options::current().arith.arithPropagationMode; } |
230 |
|
inline uint64_t arithPropAsLemmaLength() { return Options::current().arith.arithPropAsLemmaLength; } |
231 |
13248 |
inline bool arithRewriteEq() { return Options::current().arith.arithRewriteEq; } |
232 |
|
inline bool collectPivots() { return Options::current().arith.collectPivots; } |
233 |
|
inline bool doCutAllBounded() { return Options::current().arith.doCutAllBounded; } |
234 |
328 |
inline bool exportDioDecompositions() { return Options::current().arith.exportDioDecompositions; } |
235 |
|
inline bool arithDioSolver() { return Options::current().arith.arithDioSolver; } |
236 |
|
inline int64_t dioSolverTurns() { return Options::current().arith.dioSolverTurns; } |
237 |
25112 |
inline ErrorSelectionRule arithErrorSelectionRule() { return Options::current().arith.arithErrorSelectionRule; } |
238 |
|
inline bool havePenalties() { return Options::current().arith.havePenalties; } |
239 |
106828 |
inline int64_t arithHeuristicPivots() { return Options::current().arith.arithHeuristicPivots; } |
240 |
|
inline bool replayFailureLemma() { return Options::current().arith.replayFailureLemma; } |
241 |
|
inline uint64_t maxCutsInContext() { return Options::current().arith.maxCutsInContext; } |
242 |
7841 |
inline bool arithMLTrick() { return Options::current().arith.arithMLTrick; } |
243 |
|
inline uint64_t arithMLTrickSubstitutions() { return Options::current().arith.arithMLTrickSubstitutions; } |
244 |
|
inline bool newProp() { return Options::current().arith.newProp; } |
245 |
|
inline bool nlCad() { return Options::current().arith.nlCad; } |
246 |
|
inline bool nlCadUseInitial() { return Options::current().arith.nlCadUseInitial; } |
247 |
|
inline NlCadLiftingMode nlCadLifting() { return Options::current().arith.nlCadLifting; } |
248 |
|
inline NlCadProjectionMode nlCadProjection() { return Options::current().arith.nlCadProjection; } |
249 |
|
inline NlExtMode nlExt() { return Options::current().arith.nlExt; } |
250 |
|
inline bool nlExtEntailConflicts() { return Options::current().arith.nlExtEntailConflicts; } |
251 |
|
inline bool nlExtFactor() { return Options::current().arith.nlExtFactor; } |
252 |
|
inline bool nlExtIncPrecision() { return Options::current().arith.nlExtIncPrecision; } |
253 |
8549 |
inline bool nlExtPurify() { return Options::current().arith.nlExtPurify; } |
254 |
|
inline bool nlExtResBound() { return Options::current().arith.nlExtResBound; } |
255 |
|
inline bool nlExtRewrites() { return Options::current().arith.nlExtRewrites; } |
256 |
|
inline bool nlExtSplitZero() { return Options::current().arith.nlExtSplitZero; } |
257 |
|
inline int64_t nlExtTfTaylorDegree() { return Options::current().arith.nlExtTfTaylorDegree; } |
258 |
|
inline bool nlExtTfTangentPlanes() { return Options::current().arith.nlExtTfTangentPlanes; } |
259 |
|
inline bool nlExtTangentPlanes() { return Options::current().arith.nlExtTangentPlanes; } |
260 |
|
inline bool nlExtTangentPlanesInterleave() { return Options::current().arith.nlExtTangentPlanesInterleave; } |
261 |
|
inline bool nlICP() { return Options::current().arith.nlICP; } |
262 |
|
inline NlRlvMode nlRlvMode() { return Options::current().arith.nlRlvMode; } |
263 |
|
inline bool nlRlvAssertBounds() { return Options::current().arith.nlRlvAssertBounds; } |
264 |
8548 |
inline bool pbRewrites() { return Options::current().arith.pbRewrites; } |
265 |
272104 |
inline uint64_t arithPivotThreshold() { return Options::current().arith.arithPivotThreshold; } |
266 |
|
inline uint64_t ppAssertMaxSubSize() { return Options::current().arith.ppAssertMaxSubSize; } |
267 |
|
inline uint64_t arithPropagateMaxLength() { return Options::current().arith.arithPropagateMaxLength; } |
268 |
|
inline int64_t replayEarlyCloseDepths() { return Options::current().arith.replayEarlyCloseDepths; } |
269 |
|
inline uint64_t lemmaRejectCutSize() { return Options::current().arith.lemmaRejectCutSize; } |
270 |
|
inline int64_t replayNumericFailurePenalty() { return Options::current().arith.replayNumericFailurePenalty; } |
271 |
|
inline uint64_t replayRejectCutSize() { return Options::current().arith.replayRejectCutSize; } |
272 |
|
inline bool restrictedPivots() { return Options::current().arith.restrictedPivots; } |
273 |
|
inline bool revertArithModels() { return Options::current().arith.revertArithModels; } |
274 |
|
inline int64_t rrTurns() { return Options::current().arith.rrTurns; } |
275 |
|
inline bool trySolveIntStandardEffort() { return Options::current().arith.trySolveIntStandardEffort; } |
276 |
56851 |
inline uint64_t arithSimplexCheckPeriod() { return Options::current().arith.arithSimplexCheckPeriod; } |
277 |
|
inline bool soiQuickExplain() { return Options::current().arith.soiQuickExplain; } |
278 |
|
inline int64_t arithStandardCheckVarOrderPivots() { return Options::current().arith.arithStandardCheckVarOrderPivots; } |
279 |
|
inline ArithUnateLemmaMode arithUnateLemmaMode() { return Options::current().arith.arithUnateLemmaMode; } |
280 |
|
inline bool useApprox() { return Options::current().arith.useApprox; } |
281 |
|
inline bool useFC() { return Options::current().arith.useFC; } |
282 |
|
inline bool useSOI() { return Options::current().arith.useSOI; } |
283 |
|
// clang-format on |
284 |
|
|
285 |
|
namespace arith |
286 |
|
{ |
287 |
|
// clang-format off |
288 |
|
static constexpr const char* maxApproxDepth__name = "approx-branch-depth"; |
289 |
|
static constexpr const char* brabTest__name = "arith-brab"; |
290 |
|
static constexpr const char* arithCongMan__name = "arith-cong-man"; |
291 |
|
static constexpr const char* arithEqSolver__name = "arith-eq-solver"; |
292 |
|
static constexpr const char* arithNoPartialFun__name = "arith-no-partial-fun"; |
293 |
|
static constexpr const char* arithPropagationMode__name = "arith-prop"; |
294 |
|
static constexpr const char* arithPropAsLemmaLength__name = "arith-prop-clauses"; |
295 |
|
static constexpr const char* arithRewriteEq__name = "arith-rewrite-equalities"; |
296 |
|
static constexpr const char* collectPivots__name = "collect-pivot-stats"; |
297 |
|
static constexpr const char* doCutAllBounded__name = "cut-all-bounded"; |
298 |
|
static constexpr const char* exportDioDecompositions__name = "dio-decomps"; |
299 |
|
static constexpr const char* arithDioSolver__name = "dio-solver"; |
300 |
|
static constexpr const char* dioSolverTurns__name = "dio-turns"; |
301 |
|
static constexpr const char* arithErrorSelectionRule__name = "error-selection-rule"; |
302 |
|
static constexpr const char* havePenalties__name = "fc-penalties"; |
303 |
|
static constexpr const char* arithHeuristicPivots__name = "heuristic-pivots"; |
304 |
|
static constexpr const char* replayFailureLemma__name = "lemmas-on-replay-failure"; |
305 |
|
static constexpr const char* maxCutsInContext__name = "maxCutsInContext"; |
306 |
|
static constexpr const char* arithMLTrick__name = "miplib-trick"; |
307 |
|
static constexpr const char* arithMLTrickSubstitutions__name = "miplib-trick-subs"; |
308 |
|
static constexpr const char* newProp__name = "new-prop"; |
309 |
|
static constexpr const char* nlCad__name = "nl-cad"; |
310 |
|
static constexpr const char* nlCadUseInitial__name = "nl-cad-initial"; |
311 |
|
static constexpr const char* nlCadLifting__name = "nl-cad-lift"; |
312 |
|
static constexpr const char* nlCadProjection__name = "nl-cad-proj"; |
313 |
|
static constexpr const char* nlExt__name = "nl-ext"; |
314 |
|
static constexpr const char* nlExtEntailConflicts__name = "nl-ext-ent-conf"; |
315 |
|
static constexpr const char* nlExtFactor__name = "nl-ext-factor"; |
316 |
|
static constexpr const char* nlExtIncPrecision__name = "nl-ext-inc-prec"; |
317 |
|
static constexpr const char* nlExtPurify__name = "nl-ext-purify"; |
318 |
|
static constexpr const char* nlExtResBound__name = "nl-ext-rbound"; |
319 |
|
static constexpr const char* nlExtRewrites__name = "nl-ext-rewrite"; |
320 |
|
static constexpr const char* nlExtSplitZero__name = "nl-ext-split-zero"; |
321 |
|
static constexpr const char* nlExtTfTaylorDegree__name = "nl-ext-tf-taylor-deg"; |
322 |
|
static constexpr const char* nlExtTfTangentPlanes__name = "nl-ext-tf-tplanes"; |
323 |
|
static constexpr const char* nlExtTangentPlanes__name = "nl-ext-tplanes"; |
324 |
|
static constexpr const char* nlExtTangentPlanesInterleave__name = "nl-ext-tplanes-interleave"; |
325 |
|
static constexpr const char* nlICP__name = "nl-icp"; |
326 |
|
static constexpr const char* nlRlvMode__name = "nl-rlv"; |
327 |
|
static constexpr const char* nlRlvAssertBounds__name = "nl-rlv-assert-bounds"; |
328 |
|
static constexpr const char* pbRewrites__name = "pb-rewrites"; |
329 |
|
static constexpr const char* arithPivotThreshold__name = "pivot-threshold"; |
330 |
|
static constexpr const char* ppAssertMaxSubSize__name = "pp-assert-max-sub-size"; |
331 |
|
static constexpr const char* arithPropagateMaxLength__name = "prop-row-length"; |
332 |
|
static constexpr const char* replayEarlyCloseDepths__name = "replay-early-close-depth"; |
333 |
|
static constexpr const char* lemmaRejectCutSize__name = "replay-lemma-reject-cut"; |
334 |
|
static constexpr const char* replayNumericFailurePenalty__name = "replay-num-err-penalty"; |
335 |
|
static constexpr const char* replayRejectCutSize__name = "replay-reject-cut"; |
336 |
|
static constexpr const char* restrictedPivots__name = "restrict-pivots"; |
337 |
|
static constexpr const char* revertArithModels__name = "revert-arith-models-on-unsat"; |
338 |
|
static constexpr const char* rrTurns__name = "rr-turns"; |
339 |
|
static constexpr const char* trySolveIntStandardEffort__name = "se-solve-int"; |
340 |
|
static constexpr const char* arithSimplexCheckPeriod__name = "simplex-check-period"; |
341 |
|
static constexpr const char* soiQuickExplain__name = "soi-qe"; |
342 |
|
static constexpr const char* arithStandardCheckVarOrderPivots__name = "standard-effort-variable-order-pivots"; |
343 |
|
static constexpr const char* arithUnateLemmaMode__name = "unate-lemmas"; |
344 |
|
static constexpr const char* useApprox__name = "use-approx"; |
345 |
|
static constexpr const char* useFC__name = "use-fcsimplex"; |
346 |
|
static constexpr const char* useSOI__name = "use-soi"; |
347 |
|
|
348 |
|
void setDefaultMaxApproxDepth(Options& opts, int64_t value); |
349 |
|
void setDefaultBrabTest(Options& opts, bool value); |
350 |
|
void setDefaultArithCongMan(Options& opts, bool value); |
351 |
|
void setDefaultArithEqSolver(Options& opts, bool value); |
352 |
|
void setDefaultArithNoPartialFun(Options& opts, bool value); |
353 |
|
void setDefaultArithPropagationMode(Options& opts, ArithPropagationMode value); |
354 |
|
void setDefaultArithPropAsLemmaLength(Options& opts, uint64_t value); |
355 |
|
void setDefaultArithRewriteEq(Options& opts, bool value); |
356 |
|
void setDefaultCollectPivots(Options& opts, bool value); |
357 |
|
void setDefaultDoCutAllBounded(Options& opts, bool value); |
358 |
|
void setDefaultExportDioDecompositions(Options& opts, bool value); |
359 |
|
void setDefaultArithDioSolver(Options& opts, bool value); |
360 |
|
void setDefaultDioSolverTurns(Options& opts, int64_t value); |
361 |
|
void setDefaultArithErrorSelectionRule(Options& opts, ErrorSelectionRule value); |
362 |
|
void setDefaultHavePenalties(Options& opts, bool value); |
363 |
|
void setDefaultArithHeuristicPivots(Options& opts, int64_t value); |
364 |
|
void setDefaultReplayFailureLemma(Options& opts, bool value); |
365 |
|
void setDefaultMaxCutsInContext(Options& opts, uint64_t value); |
366 |
|
void setDefaultArithMLTrick(Options& opts, bool value); |
367 |
|
void setDefaultArithMLTrickSubstitutions(Options& opts, uint64_t value); |
368 |
|
void setDefaultNewProp(Options& opts, bool value); |
369 |
|
void setDefaultNlCad(Options& opts, bool value); |
370 |
|
void setDefaultNlCadUseInitial(Options& opts, bool value); |
371 |
|
void setDefaultNlCadLifting(Options& opts, NlCadLiftingMode value); |
372 |
|
void setDefaultNlCadProjection(Options& opts, NlCadProjectionMode value); |
373 |
|
void setDefaultNlExt(Options& opts, NlExtMode value); |
374 |
|
void setDefaultNlExtEntailConflicts(Options& opts, bool value); |
375 |
|
void setDefaultNlExtFactor(Options& opts, bool value); |
376 |
|
void setDefaultNlExtIncPrecision(Options& opts, bool value); |
377 |
|
void setDefaultNlExtPurify(Options& opts, bool value); |
378 |
|
void setDefaultNlExtResBound(Options& opts, bool value); |
379 |
|
void setDefaultNlExtRewrites(Options& opts, bool value); |
380 |
|
void setDefaultNlExtSplitZero(Options& opts, bool value); |
381 |
|
void setDefaultNlExtTfTaylorDegree(Options& opts, int64_t value); |
382 |
|
void setDefaultNlExtTfTangentPlanes(Options& opts, bool value); |
383 |
|
void setDefaultNlExtTangentPlanes(Options& opts, bool value); |
384 |
|
void setDefaultNlExtTangentPlanesInterleave(Options& opts, bool value); |
385 |
|
void setDefaultNlICP(Options& opts, bool value); |
386 |
|
void setDefaultNlRlvMode(Options& opts, NlRlvMode value); |
387 |
|
void setDefaultNlRlvAssertBounds(Options& opts, bool value); |
388 |
|
void setDefaultPbRewrites(Options& opts, bool value); |
389 |
|
void setDefaultArithPivotThreshold(Options& opts, uint64_t value); |
390 |
|
void setDefaultPpAssertMaxSubSize(Options& opts, uint64_t value); |
391 |
|
void setDefaultArithPropagateMaxLength(Options& opts, uint64_t value); |
392 |
|
void setDefaultReplayEarlyCloseDepths(Options& opts, int64_t value); |
393 |
|
void setDefaultLemmaRejectCutSize(Options& opts, uint64_t value); |
394 |
|
void setDefaultReplayNumericFailurePenalty(Options& opts, int64_t value); |
395 |
|
void setDefaultReplayRejectCutSize(Options& opts, uint64_t value); |
396 |
|
void setDefaultRestrictedPivots(Options& opts, bool value); |
397 |
|
void setDefaultRevertArithModels(Options& opts, bool value); |
398 |
|
void setDefaultRrTurns(Options& opts, int64_t value); |
399 |
|
void setDefaultTrySolveIntStandardEffort(Options& opts, bool value); |
400 |
|
void setDefaultArithSimplexCheckPeriod(Options& opts, uint64_t value); |
401 |
|
void setDefaultSoiQuickExplain(Options& opts, bool value); |
402 |
|
void setDefaultArithStandardCheckVarOrderPivots(Options& opts, int64_t value); |
403 |
|
void setDefaultArithUnateLemmaMode(Options& opts, ArithUnateLemmaMode value); |
404 |
|
void setDefaultUseApprox(Options& opts, bool value); |
405 |
|
void setDefaultUseFC(Options& opts, bool value); |
406 |
|
void setDefaultUseSOI(Options& opts, bool value); |
407 |
|
// clang-format on |
408 |
|
} |
409 |
|
|
410 |
|
} // namespace cvc5::options |
411 |
|
|
412 |
|
#endif /* CVC5__OPTIONS__ARITH_H */ |