GCC Code Coverage Report
Directory: . Exec Total Coverage
File: build-coverage/src/options/arith_options.h Lines: 13 15 86.7 %
Date: 2021-09-15 Branches: 0 0 0.0 %

Line Exec Source
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
  UNATE_PROP, BOTH_PROP, NO_PROP, BOUND_INFERENCE_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
  MINIMUM_AMOUNT, SUM_METRIC, VAR_ORDER, MAXIMUM_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
  MCCALLUM, LAZARD, LAZARDMOD
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
  NONE, FULL, LIGHT
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
  NONE, ALWAYS, INTERLEAVE
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
  INEQUALITY, ALL, EQUALITY, NO
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
24139
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 dioRepeat = false;
123
  bool dioRepeatWasSetByUser = false;
124
  bool arithDioSolver = true;
125
  bool arithDioSolverWasSetByUser = false;
126
  int64_t dioSolverTurns = 10;
127
  bool dioSolverTurnsWasSetByUser = false;
128
  ErrorSelectionRule arithErrorSelectionRule = ErrorSelectionRule::MINIMUM_AMOUNT;
129
  bool arithErrorSelectionRuleWasSetByUser = false;
130
  bool havePenalties = false;
131
  bool havePenaltiesWasSetByUser = false;
132
  int64_t arithHeuristicPivots = 0;
133
  bool arithHeuristicPivotsWasSetByUser = false;
134
  bool replayFailureLemma = false;
135
  bool replayFailureLemmaWasSetByUser = false;
136
  uint64_t maxCutsInContext = 65535;
137
  bool maxCutsInContextWasSetByUser = false;
138
  bool arithMLTrick = false;
139
  bool arithMLTrickWasSetByUser = false;
140
  uint64_t arithMLTrickSubstitutions = 1;
141
  bool arithMLTrickSubstitutionsWasSetByUser = false;
142
  bool newProp = true;
143
  bool newPropWasSetByUser = false;
144
  bool nlCad = false;
145
  bool nlCadWasSetByUser = false;
146
  bool nlCadUseInitial = false;
147
  bool nlCadUseInitialWasSetByUser = false;
148
  NlCadLiftingMode nlCadLifting = NlCadLiftingMode::REGULAR;
149
  bool nlCadLiftingWasSetByUser = false;
150
  NlCadProjectionMode nlCadProjection = NlCadProjectionMode::MCCALLUM;
151
  bool nlCadProjectionWasSetByUser = false;
152
  NlExtMode nlExt = NlExtMode::FULL;
153
  bool nlExtWasSetByUser = false;
154
  bool nlExtEntailConflicts = false;
155
  bool nlExtEntailConflictsWasSetByUser = false;
156
  bool nlExtFactor = true;
157
  bool nlExtFactorWasSetByUser = false;
158
  bool nlExtIncPrecision = true;
159
  bool nlExtIncPrecisionWasSetByUser = false;
160
  bool nlExtPurify = false;
161
  bool nlExtPurifyWasSetByUser = false;
162
  bool nlExtResBound = false;
163
  bool nlExtResBoundWasSetByUser = false;
164
  bool nlExtRewrites = true;
165
  bool nlExtRewritesWasSetByUser = false;
166
  bool nlExtSplitZero = false;
167
  bool nlExtSplitZeroWasSetByUser = false;
168
  int64_t nlExtTfTaylorDegree = 4;
169
  bool nlExtTfTaylorDegreeWasSetByUser = false;
170
  bool nlExtTfTangentPlanes = true;
171
  bool nlExtTfTangentPlanesWasSetByUser = false;
172
  bool nlExtTangentPlanes = false;
173
  bool nlExtTangentPlanesWasSetByUser = false;
174
  bool nlExtTangentPlanesInterleave = false;
175
  bool nlExtTangentPlanesInterleaveWasSetByUser = false;
176
  bool nlICP = false;
177
  bool nlICPWasSetByUser = false;
178
  NlRlvMode nlRlvMode = NlRlvMode::NONE;
179
  bool nlRlvModeWasSetByUser = false;
180
  bool nlRlvAssertBounds = false;
181
  bool nlRlvAssertBoundsWasSetByUser = false;
182
  bool pbRewrites = false;
183
  bool pbRewritesWasSetByUser = false;
184
  uint64_t arithPivotThreshold = 2;
185
  bool arithPivotThresholdWasSetByUser = false;
186
  uint64_t ppAssertMaxSubSize = 2;
187
  bool ppAssertMaxSubSizeWasSetByUser = false;
188
  uint64_t arithPropagateMaxLength = 16;
189
  bool arithPropagateMaxLengthWasSetByUser = false;
190
  int64_t replayEarlyCloseDepths = 1;
191
  bool replayEarlyCloseDepthsWasSetByUser = false;
192
  int64_t replayFailurePenalty = 100;
193
  bool replayFailurePenaltyWasSetByUser = false;
194
  uint64_t lemmaRejectCutSize = 25500;
195
  bool lemmaRejectCutSizeWasSetByUser = false;
196
  int64_t replayNumericFailurePenalty = 4194304;
197
  bool replayNumericFailurePenaltyWasSetByUser = false;
198
  uint64_t replayRejectCutSize = 25500;
199
  bool replayRejectCutSizeWasSetByUser = false;
200
  double soiApproxMajorFailure = .01;
201
  bool soiApproxMajorFailureWasSetByUser = false;
202
  int64_t soiApproxMajorFailurePen = 50;
203
  bool soiApproxMajorFailurePenWasSetByUser = false;
204
  double soiApproxMinorFailure = .0001;
205
  bool soiApproxMinorFailureWasSetByUser = false;
206
  int64_t soiApproxMinorFailurePen = 10;
207
  bool soiApproxMinorFailurePenWasSetByUser = false;
208
  bool restrictedPivots = true;
209
  bool restrictedPivotsWasSetByUser = false;
210
  bool revertArithModels = false;
211
  bool revertArithModelsWasSetByUser = false;
212
  int64_t rrTurns = 3;
213
  bool rrTurnsWasSetByUser = false;
214
  bool trySolveIntStandardEffort = false;
215
  bool trySolveIntStandardEffortWasSetByUser = false;
216
  uint64_t arithSimplexCheckPeriod = 200;
217
  bool arithSimplexCheckPeriodWasSetByUser = false;
218
  bool soiQuickExplain = false;
219
  bool soiQuickExplainWasSetByUser = false;
220
  int64_t arithStandardCheckVarOrderPivots = -1;
221
  bool arithStandardCheckVarOrderPivotsWasSetByUser = false;
222
  ArithUnateLemmaMode arithUnateLemmaMode = ArithUnateLemmaMode::ALL;
223
  bool arithUnateLemmaModeWasSetByUser = false;
224
  bool useApprox = false;
225
  bool useApproxWasSetByUser = false;
226
  bool useFC = false;
227
  bool useFCWasSetByUser = false;
228
  bool useSOI = false;
229
  bool useSOIWasSetByUser = false;
230
// clang-format on
231
};
232
233
#undef DO_SEMANTIC_CHECKS_BY_DEFAULT
234
235
// clang-format off
236
inline int64_t maxApproxDepth() { return Options::current().arith.maxApproxDepth; }
237
inline bool brabTest() { return Options::current().arith.brabTest; }
238
inline bool arithCongMan() { return Options::current().arith.arithCongMan; }
239
19876
inline bool arithEqSolver() { return Options::current().arith.arithEqSolver; }
240
705
inline bool arithNoPartialFun() { return Options::current().arith.arithNoPartialFun; }
241
inline ArithPropagationMode arithPropagationMode() { return Options::current().arith.arithPropagationMode; }
242
inline uint64_t arithPropAsLemmaLength() { return Options::current().arith.arithPropAsLemmaLength; }
243
28113
inline bool arithRewriteEq() { return Options::current().arith.arithRewriteEq; }
244
inline bool collectPivots() { return Options::current().arith.collectPivots; }
245
inline bool doCutAllBounded() { return Options::current().arith.doCutAllBounded; }
246
336
inline bool exportDioDecompositions() { return Options::current().arith.exportDioDecompositions; }
247
inline bool dioRepeat() { return Options::current().arith.dioRepeat; }
248
inline bool arithDioSolver() { return Options::current().arith.arithDioSolver; }
249
inline int64_t dioSolverTurns() { return Options::current().arith.dioSolverTurns; }
250
39768
inline ErrorSelectionRule arithErrorSelectionRule() { return Options::current().arith.arithErrorSelectionRule; }
251
inline bool havePenalties() { return Options::current().arith.havePenalties; }
252
179034
inline int64_t arithHeuristicPivots() { return Options::current().arith.arithHeuristicPivots; }
253
inline bool replayFailureLemma() { return Options::current().arith.replayFailureLemma; }
254
inline uint64_t maxCutsInContext() { return Options::current().arith.maxCutsInContext; }
255
9484
inline bool arithMLTrick() { return Options::current().arith.arithMLTrick; }
256
inline uint64_t arithMLTrickSubstitutions() { return Options::current().arith.arithMLTrickSubstitutions; }
257
inline bool newProp() { return Options::current().arith.newProp; }
258
inline bool nlCad() { return Options::current().arith.nlCad; }
259
inline bool nlCadUseInitial() { return Options::current().arith.nlCadUseInitial; }
260
inline NlCadLiftingMode nlCadLifting() { return Options::current().arith.nlCadLifting; }
261
inline NlCadProjectionMode nlCadProjection() { return Options::current().arith.nlCadProjection; }
262
inline NlExtMode nlExt() { return Options::current().arith.nlExt; }
263
inline bool nlExtEntailConflicts() { return Options::current().arith.nlExtEntailConflicts; }
264
inline bool nlExtFactor() { return Options::current().arith.nlExtFactor; }
265
inline bool nlExtIncPrecision() { return Options::current().arith.nlExtIncPrecision; }
266
13800
inline bool nlExtPurify() { return Options::current().arith.nlExtPurify; }
267
inline bool nlExtResBound() { return Options::current().arith.nlExtResBound; }
268
inline bool nlExtRewrites() { return Options::current().arith.nlExtRewrites; }
269
inline bool nlExtSplitZero() { return Options::current().arith.nlExtSplitZero; }
270
inline int64_t nlExtTfTaylorDegree() { return Options::current().arith.nlExtTfTaylorDegree; }
271
inline bool nlExtTfTangentPlanes() { return Options::current().arith.nlExtTfTangentPlanes; }
272
inline bool nlExtTangentPlanes() { return Options::current().arith.nlExtTangentPlanes; }
273
inline bool nlExtTangentPlanesInterleave() { return Options::current().arith.nlExtTangentPlanesInterleave; }
274
inline bool nlICP() { return Options::current().arith.nlICP; }
275
inline NlRlvMode nlRlvMode() { return Options::current().arith.nlRlvMode; }
276
inline bool nlRlvAssertBounds() { return Options::current().arith.nlRlvAssertBounds; }
277
13799
inline bool pbRewrites() { return Options::current().arith.pbRewrites; }
278
422374
inline uint64_t arithPivotThreshold() { return Options::current().arith.arithPivotThreshold; }
279
inline uint64_t ppAssertMaxSubSize() { return Options::current().arith.ppAssertMaxSubSize; }
280
inline uint64_t arithPropagateMaxLength() { return Options::current().arith.arithPropagateMaxLength; }
281
inline int64_t replayEarlyCloseDepths() { return Options::current().arith.replayEarlyCloseDepths; }
282
inline int64_t replayFailurePenalty() { return Options::current().arith.replayFailurePenalty; }
283
inline uint64_t lemmaRejectCutSize() { return Options::current().arith.lemmaRejectCutSize; }
284
inline int64_t replayNumericFailurePenalty() { return Options::current().arith.replayNumericFailurePenalty; }
285
inline uint64_t replayRejectCutSize() { return Options::current().arith.replayRejectCutSize; }
286
inline double soiApproxMajorFailure() { return Options::current().arith.soiApproxMajorFailure; }
287
inline int64_t soiApproxMajorFailurePen() { return Options::current().arith.soiApproxMajorFailurePen; }
288
inline double soiApproxMinorFailure() { return Options::current().arith.soiApproxMinorFailure; }
289
inline int64_t soiApproxMinorFailurePen() { return Options::current().arith.soiApproxMinorFailurePen; }
290
inline bool restrictedPivots() { return Options::current().arith.restrictedPivots; }
291
inline bool revertArithModels() { return Options::current().arith.revertArithModels; }
292
inline int64_t rrTurns() { return Options::current().arith.rrTurns; }
293
inline bool trySolveIntStandardEffort() { return Options::current().arith.trySolveIntStandardEffort; }
294
96601
inline uint64_t arithSimplexCheckPeriod() { return Options::current().arith.arithSimplexCheckPeriod; }
295
inline bool soiQuickExplain() { return Options::current().arith.soiQuickExplain; }
296
123017
inline int64_t arithStandardCheckVarOrderPivots() { return Options::current().arith.arithStandardCheckVarOrderPivots; }
297
inline ArithUnateLemmaMode arithUnateLemmaMode() { return Options::current().arith.arithUnateLemmaMode; }
298
inline bool useApprox() { return Options::current().arith.useApprox; }
299
inline bool useFC() { return Options::current().arith.useFC; }
300
inline bool useSOI() { return Options::current().arith.useSOI; }
301
// clang-format on
302
303
namespace arith
304
{
305
// clang-format off
306
static constexpr const char* maxApproxDepth__name = "approx-branch-depth";
307
static constexpr const char* brabTest__name = "arith-brab";
308
static constexpr const char* arithCongMan__name = "arith-cong-man";
309
static constexpr const char* arithEqSolver__name = "arith-eq-solver";
310
static constexpr const char* arithNoPartialFun__name = "arith-no-partial-fun";
311
static constexpr const char* arithPropagationMode__name = "arith-prop";
312
static constexpr const char* arithPropAsLemmaLength__name = "arith-prop-clauses";
313
static constexpr const char* arithRewriteEq__name = "arith-rewrite-equalities";
314
static constexpr const char* collectPivots__name = "collect-pivot-stats";
315
static constexpr const char* doCutAllBounded__name = "cut-all-bounded";
316
static constexpr const char* exportDioDecompositions__name = "dio-decomps";
317
static constexpr const char* dioRepeat__name = "dio-repeat";
318
static constexpr const char* arithDioSolver__name = "dio-solver";
319
static constexpr const char* dioSolverTurns__name = "dio-turns";
320
static constexpr const char* arithErrorSelectionRule__name = "error-selection-rule";
321
static constexpr const char* havePenalties__name = "fc-penalties";
322
static constexpr const char* arithHeuristicPivots__name = "heuristic-pivots";
323
static constexpr const char* replayFailureLemma__name = "lemmas-on-replay-failure";
324
static constexpr const char* maxCutsInContext__name = "maxCutsInContext";
325
static constexpr const char* arithMLTrick__name = "miplib-trick";
326
static constexpr const char* arithMLTrickSubstitutions__name = "miplib-trick-subs";
327
static constexpr const char* newProp__name = "new-prop";
328
static constexpr const char* nlCad__name = "nl-cad";
329
static constexpr const char* nlCadUseInitial__name = "nl-cad-initial";
330
static constexpr const char* nlCadLifting__name = "nl-cad-lift";
331
static constexpr const char* nlCadProjection__name = "nl-cad-proj";
332
static constexpr const char* nlExt__name = "nl-ext";
333
static constexpr const char* nlExtEntailConflicts__name = "nl-ext-ent-conf";
334
static constexpr const char* nlExtFactor__name = "nl-ext-factor";
335
static constexpr const char* nlExtIncPrecision__name = "nl-ext-inc-prec";
336
static constexpr const char* nlExtPurify__name = "nl-ext-purify";
337
static constexpr const char* nlExtResBound__name = "nl-ext-rbound";
338
static constexpr const char* nlExtRewrites__name = "nl-ext-rewrite";
339
static constexpr const char* nlExtSplitZero__name = "nl-ext-split-zero";
340
static constexpr const char* nlExtTfTaylorDegree__name = "nl-ext-tf-taylor-deg";
341
static constexpr const char* nlExtTfTangentPlanes__name = "nl-ext-tf-tplanes";
342
static constexpr const char* nlExtTangentPlanes__name = "nl-ext-tplanes";
343
static constexpr const char* nlExtTangentPlanesInterleave__name = "nl-ext-tplanes-interleave";
344
static constexpr const char* nlICP__name = "nl-icp";
345
static constexpr const char* nlRlvMode__name = "nl-rlv";
346
static constexpr const char* nlRlvAssertBounds__name = "nl-rlv-assert-bounds";
347
static constexpr const char* pbRewrites__name = "pb-rewrites";
348
static constexpr const char* arithPivotThreshold__name = "pivot-threshold";
349
static constexpr const char* ppAssertMaxSubSize__name = "pp-assert-max-sub-size";
350
static constexpr const char* arithPropagateMaxLength__name = "prop-row-length";
351
static constexpr const char* replayEarlyCloseDepths__name = "replay-early-close-depth";
352
static constexpr const char* replayFailurePenalty__name = "replay-failure-penalty";
353
static constexpr const char* lemmaRejectCutSize__name = "replay-lemma-reject-cut";
354
static constexpr const char* replayNumericFailurePenalty__name = "replay-num-err-penalty";
355
static constexpr const char* replayRejectCutSize__name = "replay-reject-cut";
356
static constexpr const char* soiApproxMajorFailure__name = "replay-soi-major-threshold";
357
static constexpr const char* soiApproxMajorFailurePen__name = "replay-soi-major-threshold-pen";
358
static constexpr const char* soiApproxMinorFailure__name = "replay-soi-minor-threshold";
359
static constexpr const char* soiApproxMinorFailurePen__name = "replay-soi-minor-threshold-pen";
360
static constexpr const char* restrictedPivots__name = "restrict-pivots";
361
static constexpr const char* revertArithModels__name = "revert-arith-models-on-unsat";
362
static constexpr const char* rrTurns__name = "rr-turns";
363
static constexpr const char* trySolveIntStandardEffort__name = "se-solve-int";
364
static constexpr const char* arithSimplexCheckPeriod__name = "simplex-check-period";
365
static constexpr const char* soiQuickExplain__name = "soi-qe";
366
static constexpr const char* arithStandardCheckVarOrderPivots__name = "standard-effort-variable-order-pivots";
367
static constexpr const char* arithUnateLemmaMode__name = "unate-lemmas";
368
static constexpr const char* useApprox__name = "use-approx";
369
static constexpr const char* useFC__name = "use-fcsimplex";
370
static constexpr const char* useSOI__name = "use-soi";
371
372
void setDefaultMaxApproxDepth(Options& opts, int64_t value);
373
void setDefaultBrabTest(Options& opts, bool value);
374
void setDefaultArithCongMan(Options& opts, bool value);
375
void setDefaultArithEqSolver(Options& opts, bool value);
376
void setDefaultArithNoPartialFun(Options& opts, bool value);
377
void setDefaultArithPropagationMode(Options& opts, ArithPropagationMode value);
378
void setDefaultArithPropAsLemmaLength(Options& opts, uint64_t value);
379
void setDefaultArithRewriteEq(Options& opts, bool value);
380
void setDefaultCollectPivots(Options& opts, bool value);
381
void setDefaultDoCutAllBounded(Options& opts, bool value);
382
void setDefaultExportDioDecompositions(Options& opts, bool value);
383
void setDefaultDioRepeat(Options& opts, bool value);
384
void setDefaultArithDioSolver(Options& opts, bool value);
385
void setDefaultDioSolverTurns(Options& opts, int64_t value);
386
void setDefaultArithErrorSelectionRule(Options& opts, ErrorSelectionRule value);
387
void setDefaultHavePenalties(Options& opts, bool value);
388
void setDefaultArithHeuristicPivots(Options& opts, int64_t value);
389
void setDefaultReplayFailureLemma(Options& opts, bool value);
390
void setDefaultMaxCutsInContext(Options& opts, uint64_t value);
391
void setDefaultArithMLTrick(Options& opts, bool value);
392
void setDefaultArithMLTrickSubstitutions(Options& opts, uint64_t value);
393
void setDefaultNewProp(Options& opts, bool value);
394
void setDefaultNlCad(Options& opts, bool value);
395
void setDefaultNlCadUseInitial(Options& opts, bool value);
396
void setDefaultNlCadLifting(Options& opts, NlCadLiftingMode value);
397
void setDefaultNlCadProjection(Options& opts, NlCadProjectionMode value);
398
void setDefaultNlExt(Options& opts, NlExtMode value);
399
void setDefaultNlExtEntailConflicts(Options& opts, bool value);
400
void setDefaultNlExtFactor(Options& opts, bool value);
401
void setDefaultNlExtIncPrecision(Options& opts, bool value);
402
void setDefaultNlExtPurify(Options& opts, bool value);
403
void setDefaultNlExtResBound(Options& opts, bool value);
404
void setDefaultNlExtRewrites(Options& opts, bool value);
405
void setDefaultNlExtSplitZero(Options& opts, bool value);
406
void setDefaultNlExtTfTaylorDegree(Options& opts, int64_t value);
407
void setDefaultNlExtTfTangentPlanes(Options& opts, bool value);
408
void setDefaultNlExtTangentPlanes(Options& opts, bool value);
409
void setDefaultNlExtTangentPlanesInterleave(Options& opts, bool value);
410
void setDefaultNlICP(Options& opts, bool value);
411
void setDefaultNlRlvMode(Options& opts, NlRlvMode value);
412
void setDefaultNlRlvAssertBounds(Options& opts, bool value);
413
void setDefaultPbRewrites(Options& opts, bool value);
414
void setDefaultArithPivotThreshold(Options& opts, uint64_t value);
415
void setDefaultPpAssertMaxSubSize(Options& opts, uint64_t value);
416
void setDefaultArithPropagateMaxLength(Options& opts, uint64_t value);
417
void setDefaultReplayEarlyCloseDepths(Options& opts, int64_t value);
418
void setDefaultReplayFailurePenalty(Options& opts, int64_t value);
419
void setDefaultLemmaRejectCutSize(Options& opts, uint64_t value);
420
void setDefaultReplayNumericFailurePenalty(Options& opts, int64_t value);
421
void setDefaultReplayRejectCutSize(Options& opts, uint64_t value);
422
void setDefaultSoiApproxMajorFailure(Options& opts, double value);
423
void setDefaultSoiApproxMajorFailurePen(Options& opts, int64_t value);
424
void setDefaultSoiApproxMinorFailure(Options& opts, double value);
425
void setDefaultSoiApproxMinorFailurePen(Options& opts, int64_t value);
426
void setDefaultRestrictedPivots(Options& opts, bool value);
427
void setDefaultRevertArithModels(Options& opts, bool value);
428
void setDefaultRrTurns(Options& opts, int64_t value);
429
void setDefaultTrySolveIntStandardEffort(Options& opts, bool value);
430
void setDefaultArithSimplexCheckPeriod(Options& opts, uint64_t value);
431
void setDefaultSoiQuickExplain(Options& opts, bool value);
432
void setDefaultArithStandardCheckVarOrderPivots(Options& opts, int64_t value);
433
void setDefaultArithUnateLemmaMode(Options& opts, ArithUnateLemmaMode value);
434
void setDefaultUseApprox(Options& opts, bool value);
435
void setDefaultUseFC(Options& opts, bool value);
436
void setDefaultUseSOI(Options& opts, bool value);
437
// clang-format on
438
}
439
440
}  // namespace cvc5::options
441
442
#endif /* CVC5__OPTIONS__ARITH_H */