SMT-RAT  24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
settings.h
Go to the documentation of this file.
1 #pragma once
2 
6 
7 #include <string>
8 
9 namespace smtrat {
10 namespace analyzer {
11 
13  bool enabled = false;
14  bool analyze_cnf = false;
15  std::string analyze_projections = "none";
16 };
17 
18 template<typename T>
19 void registerAnalyzerSettings(T& parser) {
20  namespace po = boost::program_options;
21  auto& settings = settings::Settings::getInstance();
22  auto& s = settings.get<AnalysisSettings>("analyzer");
23 
24  parser.add("Analysis settings").add_options()
25  ("analyze.enabled", po::bool_switch(&s.enabled), "enable formula analyzer")
26  ("analyze.projections", po::value<std::string>(&s.analyze_projections)->default_value("none"), "which CAD projections to analyze (all, collins, hong, mccallum, mccallum_partial, lazard, brown, none)")
27  ("analyze.cnf", po::bool_switch(&s.analyze_cnf)->default_value(false), "enable CNF analyzer")
28  ;
29 }
30 
31 }
32 
33 inline const auto& settings_analyzer() {
34  static const auto& s = settings::Settings::getInstance().get<analyzer::AnalysisSettings>("analyzer");
35  return s;
36 }
37 
38 }
void registerAnalyzerSettings(T &parser)
Definition: settings.h:19
Class to create the formulas for axioms.
const auto & settings_analyzer()
Definition: settings.h:33