SMT-RAT  24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
ICPSettings.h
Go to the documentation of this file.
1 /**
2  * Class to create a settings object for the ICPModule.
3  * @file ICPSettings.h
4  * @author Florian Corzilius
5  * @since 2014-10-02
6  * @version 2014-10-02
7  */
8 
9 #pragma once
10 
12 
13 namespace smtrat
14 {
16 
17  struct ICPSettings1
18  {
19  static constexpr auto moduleName = "ICPModule<ICPSettings1>";
20  /**
21  *
22  */
23  static constexpr double target_diameter_nia = 0.1;
24  /**
25  *
26  */
27  static constexpr double target_diameter_nra = 0.01;
28  /**
29  *
30  */
31  static constexpr double contraction_threshold_nia = 0.01;
32  /**
33  *
34  */
35  static constexpr double contraction_threshold_nra = 0.001; // Because we currently cannot change the settings within one strategy
36  /**
37  *
38  */
39  static constexpr double default_splitting_size_nia = 16;
40  /**
41  *
42  */
43  static constexpr double default_splitting_size_nra = 1000; // Because we currently cannot change the settings within one strategy
44  /**
45  *
46  */
48  /**
49  *
50  */
51  static constexpr SplittingHeuristic splitting_heuristic_nra = SplittingHeuristic::SIZE; // Because we currently cannot change the settings within one strategy
52  /**
53  *
54  */
56  /**
57  *
58  */
59  static constexpr bool first_split_to_bounded_intervals_without_zero = true;
60  /**
61  *
62  */
63  static constexpr bool prolong_contraction = true;
64  /**
65  *
66  */
67  static constexpr bool original_polynomial_contraction = false;
68  /**
69  *
70  */
71  static constexpr bool use_propagation = true;
72  /**
73  *
74  */
75  static constexpr bool split_by_division_with_zero = true;
76  /**
77  *
78  */
79  static constexpr bool just_contraction = false;
80 
81  };
82 
84  {
85  static constexpr auto moduleName = "ICPModule<ICPSettings2>";
86  static constexpr double default_splitting_size_nia = 100;
87  };
88 
90  {
91  static constexpr auto moduleName = "ICPModule<ICPSettings3>";
92  static constexpr bool split_by_division_with_zero = false;
93  };
94 
96  {
97  static constexpr auto moduleName = "ICPModule<ICPSettings4>";
98  static constexpr bool just_contraction = true;
99  };
100 }
Class to create the formulas for axioms.
SplittingHeuristic
Definition: ICPSettings.h:15
static constexpr bool use_propagation
Definition: ICPSettings.h:71
static constexpr auto moduleName
Definition: ICPSettings.h:19
static constexpr size_t number_of_reusages_after_target_diameter_reached
Definition: ICPSettings.h:55
static constexpr double contraction_threshold_nra
Definition: ICPSettings.h:35
static constexpr double contraction_threshold_nia
Definition: ICPSettings.h:31
static constexpr double default_splitting_size_nia
Definition: ICPSettings.h:39
static constexpr SplittingHeuristic splitting_heuristic_nia
Definition: ICPSettings.h:47
static constexpr double target_diameter_nra
Definition: ICPSettings.h:27
static constexpr double target_diameter_nia
Definition: ICPSettings.h:23
static constexpr bool original_polynomial_contraction
Definition: ICPSettings.h:67
static constexpr bool split_by_division_with_zero
Definition: ICPSettings.h:75
static constexpr SplittingHeuristic splitting_heuristic_nra
Definition: ICPSettings.h:51
static constexpr bool just_contraction
Definition: ICPSettings.h:79
static constexpr bool first_split_to_bounded_intervals_without_zero
Definition: ICPSettings.h:59
static constexpr bool prolong_contraction
Definition: ICPSettings.h:63
static constexpr double default_splitting_size_nra
Definition: ICPSettings.h:43
static constexpr auto moduleName
Definition: ICPSettings.h:85
static constexpr double default_splitting_size_nia
Definition: ICPSettings.h:86
static constexpr auto moduleName
Definition: ICPSettings.h:91
static constexpr bool split_by_division_with_zero
Definition: ICPSettings.h:92
static constexpr auto moduleName
Definition: ICPSettings.h:97
static constexpr bool just_contraction
Definition: ICPSettings.h:98