Program Listing for File solver_config.h¶
↰ Return to documentation for file (src/solver_config.h
)
#ifndef SOLVER_CONFIG_H_
#define SOLVER_CONFIG_H_
#include <cstdlib>
#include <cassert>
#include <string>
#include "primitive_types.h"
#include "sampler_tools.h"
struct SolverConfiguration {
// Support for these features is removed in the sampler.
// /**
// * Support to modify the default state of this feature is
// * disabled in the sampler.
// *
// * Forces variable backtracking in the case of a conflict
// * being founded.
// */
// bool perform_non_chron_back_track = true;
bool perform_component_caching = true;
bool perform_failed_lit_test = true;
bool perform_pre_processing = true;
bool perform_random_sampling_ = true;
bool perform_top_tree_sampling = false;
bool disable_samples_write_ = false;
bool store_sampled_models() {
return perform_random_sampling_ && !perform_top_tree_sampling;
}
std::string samples_output_file = "";
bool debug_mode = false;
uint64_t time_bound_seconds = UINT64_MAX;
bool verbose = false;
bool quiet = false;
bool perform_sample_caching() {
assert(perform_random_sampling_ || !perform_sample_caching_);
// return perform_random_sampling_ && perform_sample_caching_;
return perform_sample_caching_;
}
void EnableSampleCaching() {
assert(perform_random_sampling_);
perform_sample_caching_ = true;
}
bool perform_two_pass_sampling_ = false;
unsigned num_samples_to_cache_ = 1;
bool skip_partial_assignment_fill = false;
SampleSize num_samples_ = 0;
TreeNodeIndex max_top_tree_depth_ = 25;
SampleSize max_top_tree_leaf_sample_count = 50;
std::string top_tree_samples_output_file_ = "." FILE_PATH_SEPARATOR
"__final_top_tree_samples.txt";
private:
bool perform_sample_caching_ = false;
};
#endif /* SOLVER_CONFIG_H_ */