4 #ifdef SMTRAT_DEVOPTION_Statistics
15 static GBModuleStats& getInstance(
unsigned key);
17 static void printAll(std::ostream& = std::cout);
23 Statistics::addKeyValuePair(
"Number calls", mNrCalls);
24 Statistics::addKeyValuePair(
"Constant GB", mNrConstantGBs);
25 Statistics::addKeyValuePair(
"Infeasible inequalities", mNrInfeasibleInequalities);
26 Statistics::addKeyValuePair(
"Backend false", mNrBackendReturnsFalse);
27 Statistics::addKeyValuePair(
"Deduced equalities", mNrDeducedEqualities);
28 Statistics::addKeyValuePair(
"Deduced inequalities", mNrDeducedInequalities);
29 Statistics::addKeyValuePair(
"Radical search: Found identity", mNrOfFoundIdentities);
30 Statistics::addKeyValuePair(
"Radical search: Found equality", mNrOfFoundEqualities);
37 void called() { mNrCalls++; }
41 void constantGB() { mNrConstantGBs++; }
45 void infeasibleInequality() { mNrInfeasibleInequalities++; }
49 void backendFalse() { mNrBackendReturnsFalse++; }
53 void StrictInequalityAdded() { mNrOfStrictInequalitiesAdded++; }
57 void NonStrictInequalityAdded() { mNrOfNonStrictInequalitiesAdded++; }
61 void constraintAdded(carl::Relation relation) {
66 case carl::Relation::GEQ:
67 case carl::Relation::LEQ:
68 NonStrictInequalityAdded();
70 case carl::Relation::NEQ:
71 case carl::Relation::GREATER:
72 case carl::Relation::LESS:
73 StrictInequalityAdded();
81 void constraintRemoved(carl::Relation relation) {
86 case carl::Relation::GEQ:
87 case carl::Relation::LEQ:
88 NonStrictInequalityRemoved();
90 case carl::Relation::NEQ:
91 case carl::Relation::GREATER:
92 case carl::Relation::LESS:
93 StrictInequalityRemoved();
100 void EqualityAdded() { mNrOfEqualitiesAdded++; }
104 void StrictInequalityRemoved() { mNrOfStrictInequalitiesRemoved++; }
108 void NonStrictInequalityRemoved() { mNrOfNonStrictInequalitiesRemoved++; }
112 void EqualityRemoved() { mNrOfEqualitiesRemoved++; }
117 void DeducedEquality() { mNrDeducedEqualities++; }
122 void DeducedInequality() { mNrDeducedInequalities++; }
127 void NumberOfConflictSets(
unsigned nrInfeasibles) { mNrOfConflictSets.push_back(nrInfeasibles); }
132 void EffectivenessOfConflicts(
double ratio) { mEffectivenessOfConflicts.push_back(ratio); }
134 void FoundEqualities() {
135 ++mNrOfFoundEqualities;
138 void FoundIdentities() {
139 ++mNrOfFoundIdentities;
145 void PopLevel(
unsigned nrOfPops) { mPopLevel.push_back(nrOfPops); }
147 void print(std::ostream& os = std::cout);
148 void exportKeyValue(std::ostream& os = std::cout);
149 GBModuleStats() : mNrCalls(0), mNrConstantGBs(0),
150 mNrInfeasibleInequalities(0), mNrDeducedInequalities(0), mNrDeducedEqualities(0),mNrBackendReturnsFalse(0), mNrOfStrictInequalitiesAdded(0),
151 mNrOfNonStrictInequalitiesAdded(0), mNrOfEqualitiesAdded(0), mNrOfStrictInequalitiesRemoved(0),
152 mNrOfNonStrictInequalitiesRemoved(0), mNrOfEqualitiesRemoved(0), mNrOfFoundEqualities(0), mNrOfFoundIdentities(0)
156 unsigned mNrConstantGBs;
157 unsigned mNrInfeasibleInequalities;
158 unsigned mNrDeducedInequalities;
159 unsigned mNrDeducedEqualities;
160 unsigned mNrBackendReturnsFalse;
161 unsigned mNrOfStrictInequalitiesAdded;
162 unsigned mNrOfNonStrictInequalitiesAdded;
163 unsigned mNrOfEqualitiesAdded;
164 unsigned mNrOfStrictInequalitiesRemoved;
165 unsigned mNrOfNonStrictInequalitiesRemoved;
166 unsigned mNrOfEqualitiesRemoved;
167 unsigned mNrOfFoundEqualities;
168 unsigned mNrOfFoundIdentities;
170 std::vector<unsigned> mNrOfConflictSets;
171 std::vector<double> mEffectivenessOfConflicts;
172 std::vector<unsigned> mPopLevel;
175 static std::map<unsigned,GBModuleStats*> instances;
Class to create the formulas for axioms.
carl::statistics::Statistics Statistics