forked from chaosite/MeGASampler
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsampler_config.h
55 lines (47 loc) · 1.56 KB
/
sampler_config.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/* -*-c++-*- */
#ifndef SAMPLER_CONFIG_H
#define SAMPLER_CONFIG_H
#include <string>
namespace MeGA {
enum algorithm { ALGO_UNSET = 0, ALGO_MEGA, ALGO_MEGAB, ALGO_SMT, ALGO_Z3 };
enum { STRAT_SMTBIT, STRAT_SMTBV, STRAT_SAT };
struct SamplerConfig {
SamplerConfig(bool blocking, bool one_epoch, bool debug, bool exhaust_epoch,
bool interval_size, bool avoid_maxsmt,
unsigned long max_samples, unsigned long max_epoch_samples,
unsigned long max_time, unsigned long max_epoch_time,
unsigned long strategy, bool json, bool no_write,
double min_rate, unsigned long num_rounds)
: blocking(blocking),
one_epoch(one_epoch),
debug(debug),
exhaust_epoch(exhaust_epoch),
interval_size(interval_size),
avoid_maxsmt(avoid_maxsmt),
json(json),
no_write(no_write),
max_samples(max_samples),
max_epoch_samples(max_epoch_samples),
max_time(max_time),
max_epoch_time(max_epoch_time),
strategy(strategy),
min_rate(min_rate),
num_rounds(num_rounds) {}
const bool blocking;
const bool one_epoch;
const bool debug;
const bool exhaust_epoch;
const bool interval_size;
const bool avoid_maxsmt;
const bool json;
const bool no_write;
const unsigned long max_samples;
const unsigned long max_epoch_samples;
const unsigned long max_time;
const unsigned long max_epoch_time;
const unsigned long strategy;
const double min_rate;
const unsigned long num_rounds;
};
} // namespace MeGA
#endif