GCC Code Coverage Report
Directory: . Exec Total Coverage
File: build-coverage/src/options/arrays_options.h Lines: 7 7 100.0 %
Date: 2021-09-16 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__ARRAYS_H
22
#define CVC5__OPTIONS__ARRAYS_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
34
// clang-format on
35
36
#if defined(CVC5_MUZZLED) || defined(CVC5_COMPETITION_MODE)
37
#  define DO_SEMANTIC_CHECKS_BY_DEFAULT false
38
#else /* CVC5_MUZZLED || CVC5_COMPETITION_MODE */
39
#  define DO_SEMANTIC_CHECKS_BY_DEFAULT true
40
#endif /* CVC5_MUZZLED || CVC5_COMPETITION_MODE */
41
42
24139
struct HolderARRAYS
43
{
44
// clang-format off
45
bool arraysEagerIndexSplitting = true;
46
  bool arraysEagerIndexSplittingWasSetByUser = false;
47
  bool arraysEagerLemmas = false;
48
  bool arraysEagerLemmasWasSetByUser = false;
49
  bool arraysExp = false;
50
  bool arraysExpWasSetByUser = false;
51
  bool arraysOptimizeLinear = true;
52
  bool arraysOptimizeLinearWasSetByUser = false;
53
  int64_t arraysPropagate = 2;
54
  bool arraysPropagateWasSetByUser = false;
55
  bool arraysReduceSharing = false;
56
  bool arraysReduceSharingWasSetByUser = false;
57
  bool arraysWeakEquivalence = false;
58
  bool arraysWeakEquivalenceWasSetByUser = false;
59
// clang-format on
60
};
61
62
#undef DO_SEMANTIC_CHECKS_BY_DEFAULT
63
64
// clang-format off
65
20991
inline bool arraysEagerIndexSplitting() { return Options::current().arrays.arraysEagerIndexSplitting; }
66
208679
inline bool arraysEagerLemmas() { return Options::current().arrays.arraysEagerLemmas; }
67
inline bool arraysExp() { return Options::current().arrays.arraysExp; }
68
42698
inline bool arraysOptimizeLinear() { return Options::current().arrays.arraysOptimizeLinear; }
69
71705
inline int64_t arraysPropagate() { return Options::current().arrays.arraysPropagate; }
70
1441
inline bool arraysReduceSharing() { return Options::current().arrays.arraysReduceSharing; }
71
128896
inline bool arraysWeakEquivalence() { return Options::current().arrays.arraysWeakEquivalence; }
72
// clang-format on
73
74
namespace arrays
75
{
76
// clang-format off
77
static constexpr const char* arraysEagerIndexSplitting__name = "arrays-eager-index";
78
static constexpr const char* arraysEagerLemmas__name = "arrays-eager-lemmas";
79
static constexpr const char* arraysExp__name = "arrays-exp";
80
static constexpr const char* arraysOptimizeLinear__name = "arrays-optimize-linear";
81
static constexpr const char* arraysPropagate__name = "arrays-prop";
82
static constexpr const char* arraysReduceSharing__name = "arrays-reduce-sharing";
83
static constexpr const char* arraysWeakEquivalence__name = "arrays-weak-equiv";
84
85
void setDefaultArraysEagerIndexSplitting(Options& opts, bool value);
86
void setDefaultArraysEagerLemmas(Options& opts, bool value);
87
void setDefaultArraysExp(Options& opts, bool value);
88
void setDefaultArraysOptimizeLinear(Options& opts, bool value);
89
void setDefaultArraysPropagate(Options& opts, int64_t value);
90
void setDefaultArraysReduceSharing(Options& opts, bool value);
91
void setDefaultArraysWeakEquivalence(Options& opts, bool value);
92
// clang-format on
93
}
94
95
}  // namespace cvc5::options
96
97
#endif /* CVC5__OPTIONS__ARRAYS_H */