GCC Code Coverage Report
Directory: . Exec Total Coverage
File: build-coverage/src/options/uf_options.h Lines: 22 26 84.6 %
Date: 2021-03-23 Branches: 0 0 0.0 %

Line Exec Source
1
/*********************                                                        */
2
/*! \file module_template.h
3
 ** \verbatim
4
 ** Top contributors (to current version):
5
 **   Mathias Preiner
6
 ** This file is part of the CVC4 project.
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.\endverbatim
11
 **
12
 ** \brief Contains code for handling command-line options.
13
 **
14
 ** For each <module>_options.toml configuration file, mkoptions.py
15
 ** expands this template and generates a <module>_options.h file.
16
 **/
17
18
#include "cvc4_private.h"
19
20
#ifndef CVC4__OPTIONS__UF_H
21
#define CVC4__OPTIONS__UF_H
22
23
#include "options/options.h"
24
25
26
27
28
#define CVC4_OPTIONS__UF__FOR_OPTION_HOLDER \
29
  ufSymmetryBreaker__option_t::type ufSymmetryBreaker;\
30
  bool ufSymmetryBreaker__setByUser__; \
31
  ufHo__option_t::type ufHo;\
32
  bool ufHo__setByUser__; \
33
  ufHoExt__option_t::type ufHoExt;\
34
  bool ufHoExt__setByUser__; \
35
  ufssAbortCardinality__option_t::type ufssAbortCardinality;\
36
  bool ufssAbortCardinality__setByUser__; \
37
  ufssFairness__option_t::type ufssFairness;\
38
  bool ufssFairness__setByUser__; \
39
  ufssFairnessMonotone__option_t::type ufssFairnessMonotone;\
40
  bool ufssFairnessMonotone__setByUser__; \
41
  ufssTotalityLimited__option_t::type ufssTotalityLimited;\
42
  bool ufssTotalityLimited__setByUser__; \
43
  ufssTotalitySymBreak__option_t::type ufssTotalitySymBreak;\
44
  bool ufssTotalitySymBreak__setByUser__; \
45
  ufssMode__option_t::type ufssMode;\
46
  bool ufssMode__setByUser__;
47
48
49
namespace CVC4 {
50
51
namespace options {
52
53
54
enum class UfssMode
55
{
56
  FULL,
57
  NO_MINIMAL,
58
  NONE
59
};
60
std::ostream&
61
operator<<(std::ostream& os, UfssMode mode);
62
UfssMode
63
stringToUfssMode(const std::string& option, const std::string& optarg);
64
65
extern struct ufSymmetryBreaker__option_t
66
{
67
  typedef bool type;
68
  type operator()() const;
69
  bool wasSetByUser() const;
70
  void set(const type& v);
71
  const char* getName() const;
72
} thread_local ufSymmetryBreaker;
73
extern struct ufHo__option_t
74
{
75
  typedef bool type;
76
  type operator()() const;
77
  bool wasSetByUser() const;
78
  void set(const type& v);
79
  const char* getName() const;
80
} thread_local ufHo;
81
extern struct ufHoExt__option_t
82
{
83
  typedef bool type;
84
  type operator()() const;
85
  bool wasSetByUser() const;
86
  void set(const type& v);
87
  const char* getName() const;
88
} thread_local ufHoExt;
89
extern struct ufssAbortCardinality__option_t
90
{
91
  typedef int type;
92
  type operator()() const;
93
  bool wasSetByUser() const;
94
  const char* getName() const;
95
} thread_local ufssAbortCardinality;
96
extern struct ufssFairness__option_t
97
{
98
  typedef bool type;
99
  type operator()() const;
100
  bool wasSetByUser() const;
101
  const char* getName() const;
102
} thread_local ufssFairness;
103
extern struct ufssFairnessMonotone__option_t
104
{
105
  typedef bool type;
106
  type operator()() const;
107
  bool wasSetByUser() const;
108
  void set(const type& v);
109
  const char* getName() const;
110
} thread_local ufssFairnessMonotone;
111
extern struct ufssTotalityLimited__option_t
112
{
113
  typedef int type;
114
  type operator()() const;
115
  bool wasSetByUser() const;
116
  const char* getName() const;
117
} thread_local ufssTotalityLimited;
118
extern struct ufssTotalitySymBreak__option_t
119
{
120
  typedef bool type;
121
  type operator()() const;
122
  bool wasSetByUser() const;
123
  const char* getName() const;
124
} thread_local ufssTotalitySymBreak;
125
extern struct ufssMode__option_t
126
{
127
  typedef UfssMode type;
128
  type operator()() const;
129
  bool wasSetByUser() const;
130
  const char* getName() const;
131
} thread_local ufssMode;
132
133
}  // namespace options
134
135
template <> void Options::set(
136
    options::ufSymmetryBreaker__option_t,
137
    const options::ufSymmetryBreaker__option_t::type& x);
138
template <> const options::ufSymmetryBreaker__option_t::type& Options::operator[](
139
    options::ufSymmetryBreaker__option_t) const;
140
template <> bool Options::wasSetByUser(options::ufSymmetryBreaker__option_t) const;
141
template <> void Options::assignBool(
142
    options::ufSymmetryBreaker__option_t,
143
    std::string option,
144
    bool value);
145
template <> void Options::set(
146
    options::ufHo__option_t,
147
    const options::ufHo__option_t::type& x);
148
template <> const options::ufHo__option_t::type& Options::operator[](
149
    options::ufHo__option_t) const;
150
template <> bool Options::wasSetByUser(options::ufHo__option_t) const;
151
template <> void Options::assignBool(
152
    options::ufHo__option_t,
153
    std::string option,
154
    bool value);
155
template <> void Options::set(
156
    options::ufHoExt__option_t,
157
    const options::ufHoExt__option_t::type& x);
158
template <> const options::ufHoExt__option_t::type& Options::operator[](
159
    options::ufHoExt__option_t) const;
160
template <> bool Options::wasSetByUser(options::ufHoExt__option_t) const;
161
template <> void Options::assignBool(
162
    options::ufHoExt__option_t,
163
    std::string option,
164
    bool value);
165
template <> const options::ufssAbortCardinality__option_t::type& Options::operator[](
166
    options::ufssAbortCardinality__option_t) const;
167
template <> bool Options::wasSetByUser(options::ufssAbortCardinality__option_t) const;
168
template <> void Options::assign(
169
    options::ufssAbortCardinality__option_t,
170
    std::string option,
171
    std::string value);
172
template <> const options::ufssFairness__option_t::type& Options::operator[](
173
    options::ufssFairness__option_t) const;
174
template <> bool Options::wasSetByUser(options::ufssFairness__option_t) const;
175
template <> void Options::assignBool(
176
    options::ufssFairness__option_t,
177
    std::string option,
178
    bool value);
179
template <> void Options::set(
180
    options::ufssFairnessMonotone__option_t,
181
    const options::ufssFairnessMonotone__option_t::type& x);
182
template <> const options::ufssFairnessMonotone__option_t::type& Options::operator[](
183
    options::ufssFairnessMonotone__option_t) const;
184
template <> bool Options::wasSetByUser(options::ufssFairnessMonotone__option_t) const;
185
template <> void Options::assignBool(
186
    options::ufssFairnessMonotone__option_t,
187
    std::string option,
188
    bool value);
189
template <> const options::ufssTotalityLimited__option_t::type& Options::operator[](
190
    options::ufssTotalityLimited__option_t) const;
191
template <> bool Options::wasSetByUser(options::ufssTotalityLimited__option_t) const;
192
template <> void Options::assign(
193
    options::ufssTotalityLimited__option_t,
194
    std::string option,
195
    std::string value);
196
template <> const options::ufssTotalitySymBreak__option_t::type& Options::operator[](
197
    options::ufssTotalitySymBreak__option_t) const;
198
template <> bool Options::wasSetByUser(options::ufssTotalitySymBreak__option_t) const;
199
template <> void Options::assignBool(
200
    options::ufssTotalitySymBreak__option_t,
201
    std::string option,
202
    bool value);
203
template <> const options::ufssMode__option_t::type& Options::operator[](
204
    options::ufssMode__option_t) const;
205
template <> bool Options::wasSetByUser(options::ufssMode__option_t) const;
206
template <> void Options::assign(
207
    options::ufssMode__option_t,
208
    std::string option,
209
    std::string value);
210
211
212
namespace options {
213
214
104424
inline ufSymmetryBreaker__option_t::type ufSymmetryBreaker__option_t::operator()() const
215
{
216
104424
  return (*Options::current())[*this];
217
}
218
8997
inline bool ufSymmetryBreaker__option_t::wasSetByUser() const
219
{
220
8997
  return Options::current()->wasSetByUser(*this);
221
}
222
8997
inline void ufSymmetryBreaker__option_t::set(const ufSymmetryBreaker__option_t::type& v)
223
{
224
8997
  Options::current()->set(*this, v);
225
8997
}
226
inline const char* ufSymmetryBreaker__option_t::getName() const
227
{
228
  return "symmetry-breaker";
229
}
230
13943685
inline ufHo__option_t::type ufHo__option_t::operator()() const
231
{
232
13943685
  return (*Options::current())[*this];
233
}
234
inline bool ufHo__option_t::wasSetByUser() const
235
{
236
  return Options::current()->wasSetByUser(*this);
237
}
238
inline void ufHo__option_t::set(const ufHo__option_t::type& v)
239
{
240
  Options::current()->set(*this, v);
241
}
242
inline const char* ufHo__option_t::getName() const
243
{
244
  return "uf-ho";
245
}
246
70246
inline ufHoExt__option_t::type ufHoExt__option_t::operator()() const
247
{
248
70246
  return (*Options::current())[*this];
249
}
250
inline bool ufHoExt__option_t::wasSetByUser() const
251
{
252
  return Options::current()->wasSetByUser(*this);
253
}
254
inline void ufHoExt__option_t::set(const ufHoExt__option_t::type& v)
255
{
256
  Options::current()->set(*this, v);
257
}
258
inline const char* ufHoExt__option_t::getName() const
259
{
260
  return "uf-ho-ext";
261
}
262
7345
inline ufssAbortCardinality__option_t::type ufssAbortCardinality__option_t::operator()() const
263
{
264
7345
  return (*Options::current())[*this];
265
}
266
inline bool ufssAbortCardinality__option_t::wasSetByUser() const
267
{
268
  return Options::current()->wasSetByUser(*this);
269
}
270
inline const char* ufssAbortCardinality__option_t::getName() const
271
{
272
  return "uf-ss-abort-card";
273
}
274
11794
inline ufssFairness__option_t::type ufssFairness__option_t::operator()() const
275
{
276
11794
  return (*Options::current())[*this];
277
}
278
inline bool ufssFairness__option_t::wasSetByUser() const
279
{
280
  return Options::current()->wasSetByUser(*this);
281
}
282
inline const char* ufssFairness__option_t::getName() const
283
{
284
  return "uf-ss-fair";
285
}
286
98856
inline ufssFairnessMonotone__option_t::type ufssFairnessMonotone__option_t::operator()() const
287
{
288
98856
  return (*Options::current())[*this];
289
}
290
inline bool ufssFairnessMonotone__option_t::wasSetByUser() const
291
{
292
  return Options::current()->wasSetByUser(*this);
293
}
294
1529
inline void ufssFairnessMonotone__option_t::set(const ufssFairnessMonotone__option_t::type& v)
295
{
296
1529
  Options::current()->set(*this, v);
297
1529
}
298
inline const char* ufssFairnessMonotone__option_t::getName() const
299
{
300
  return "uf-ss-fair-monotone";
301
}
302
inline ufssTotalityLimited__option_t::type ufssTotalityLimited__option_t::operator()() const
303
{
304
  return (*Options::current())[*this];
305
}
306
inline bool ufssTotalityLimited__option_t::wasSetByUser() const
307
{
308
  return Options::current()->wasSetByUser(*this);
309
}
310
inline const char* ufssTotalityLimited__option_t::getName() const
311
{
312
  return "uf-ss-totality-limited";
313
}
314
inline ufssTotalitySymBreak__option_t::type ufssTotalitySymBreak__option_t::operator()() const
315
{
316
  return (*Options::current())[*this];
317
}
318
inline bool ufssTotalitySymBreak__option_t::wasSetByUser() const
319
{
320
  return Options::current()->wasSetByUser(*this);
321
}
322
inline const char* ufssTotalitySymBreak__option_t::getName() const
323
{
324
  return "uf-ss-totality-sym-break";
325
}
326
1202012
inline ufssMode__option_t::type ufssMode__option_t::operator()() const
327
{
328
1202012
  return (*Options::current())[*this];
329
}
330
inline bool ufssMode__option_t::wasSetByUser() const
331
{
332
  return Options::current()->wasSetByUser(*this);
333
}
334
inline const char* ufssMode__option_t::getName() const
335
{
336
  return "uf-ss";
337
}
338
339
}  // namespace options
340
}  // namespace CVC4
341
342
#endif /* CVC4__OPTIONS__UF_H */