13 #ifdef SMTRAT_DEVOPTION_Statistics
17 class NewCoveringStatistics :
public Statistics {
19 std::size_t mTotalCalls = 0;
20 bool isIncremental =
false;
21 bool isBacktracking =
false;
22 std::size_t mIncrementalOnlyCalls = 0;
23 std::size_t mBacktrackingOnlyCalls = 0;
24 std::size_t mIncrementalAndBacktrackingCalls = 0;
25 std::size_t mDimension = 0;
26 std::string mVariableOrderingType =
"";
27 std::string mCoveringHeuristicType =
"";
28 std::string mOperatorType =
"";
29 std::string mSamplingAlgorithm =
"";
30 std::string mIsSampleOutsideAlgorithm =
"";
31 carl::statistics::Timer mTimerComputeCovering;
32 carl::statistics::Timer mTimerConstructDerivation;
36 Statistics::addKeyValuePair(
"total_calls", mTotalCalls);
37 Statistics::addKeyValuePair(
"incremental_only_calls", mIncrementalOnlyCalls);
38 Statistics::addKeyValuePair(
"backtracking_only_calls", mBacktrackingOnlyCalls);
39 Statistics::addKeyValuePair(
"incremental_and_backtracking_calls", mIncrementalAndBacktrackingCalls);
40 Statistics::addKeyValuePair(
"dimension", mDimension);
41 Statistics::addKeyValuePair(
"time_compute_covering", mTimerComputeCovering);
42 Statistics::addKeyValuePair(
"time_construct_derivation", mTimerConstructDerivation);
43 Statistics::addKeyValuePair(
"variable_ordering_type", mVariableOrderingType);
44 Statistics::addKeyValuePair(
"covering_heuristic_type", mCoveringHeuristicType);
45 Statistics::addKeyValuePair(
"operator_type", mOperatorType);
46 Statistics::addKeyValuePair(
"sampling_algorithm", mSamplingAlgorithm);
47 Statistics::addKeyValuePair(
"is_sample_outside_algorithm", mIsSampleOutsideAlgorithm);
48 Statistics::addKeyValuePair(
"is_incremental", isIncremental);
49 Statistics::addKeyValuePair(
"is_backtracking", isBacktracking);
55 void calledIncrementalOnly() {
56 mIncrementalOnlyCalls++;
58 void calledBacktrackingOnly() {
59 mBacktrackingOnlyCalls++;
61 void calledIncrementalAndBacktracking() {
62 mIncrementalAndBacktrackingCalls++;
65 void setDimension(std::size_t dimension) {
66 mDimension = dimension;
69 auto& timeForComputeCovering() {
70 return mTimerComputeCovering;
73 auto& timeForConstructDerivation() {
74 return mTimerConstructDerivation;
77 void setVariableOrderingType(
const std::string& variableOrderingType) {
78 mVariableOrderingType = variableOrderingType;
81 void setCoveringHeuristicType(
const std::string& coveringHeuristicType) {
82 mCoveringHeuristicType = coveringHeuristicType;
85 void setOperatorType(
const std::string& operatorType) {
86 mOperatorType = operatorType;
89 void setSamplingAlgorithm(
const std::string& samplingAlgorithm) {
90 mSamplingAlgorithm = samplingAlgorithm;
93 void setIsSampleOutsideAlgorithm(
const std::string& isSampleOutsideAlgorithm) {
94 mIsSampleOutsideAlgorithm = isSampleOutsideAlgorithm;
97 void setIncremental(
bool incremental) {
98 isIncremental = incremental;
101 void setBacktracking(
bool backtracking) {
102 isBacktracking = backtracking;
106 static auto& getStatistics() {
Class to create the formulas for axioms.
carl::statistics::Statistics Statistics
#define SMTRAT_STATISTICS_INIT_STATIC(class, variable, name)