11 #ifdef SMTRAT_DEVOPTION_Statistics
20 carl::uint mChecks = 0;
21 carl::uint mConflicts = 0;
22 carl::uint mCoveringSets = 0;
23 double mCoveringSetSavings = 0;
24 double mInfSubsetsSavings = 0;
25 carl::uint mCreatedTCs = 0;
26 carl::uint mConsideredStates = 0;
27 carl::uint mConsideredCases = 0;
28 carl::uint mLocalConflicts = 0;
29 carl::uint mLCOmittedConstraints = 0;
30 carl::uint mVBOmittedConstraints = 0;
31 carl::uint mBackjumpings = 0;
32 carl::uint mBJOmittedConstraints = 0;
33 carl::uint mVBOmittedTCs = 0;
34 carl::uint mBranchingLemmas = 0;
39 addKeyValuePair(
"check-calls", mChecks );
40 addKeyValuePair(
"created-test-candidates", mCreatedTCs );
41 addKeyValuePair(
"considered-states", mConsideredStates );
42 addKeyValuePair(
"considered-cases", mConsideredCases );
43 addKeyValuePair(
"omitted-test-candidates-by-variable-bounds", mVBOmittedTCs );
44 addKeyValuePair(
"omitted-constraints-by-variable-bounds", mVBOmittedConstraints );
45 addKeyValuePair(
"created-covering-sets", mCoveringSets );
46 addKeyValuePair(
"average-covering-set-gain", mCoveringSets == 0 ? 0 : (mCoveringSetSavings/(
double)mCoveringSets) );
47 addKeyValuePair(
"average-infeasible-subset-gain", mConflicts == 0 ? 0 : (mInfSubsetsSavings/(
double)mConflicts) );
48 addKeyValuePair(
"local-conflicts", mLocalConflicts );
49 addKeyValuePair(
"omitted-constraints-by-local-conflicts", mLCOmittedConstraints );
50 addKeyValuePair(
"backjumpings", mBackjumpings );
51 addKeyValuePair(
"omitted-constraints-by-backjumping", mBJOmittedConstraints );
52 addKeyValuePair(
"branching-lemmas", mBranchingLemmas );
60 template<
typename ModuleInput>
61 void addConflict(
const ModuleInput& _formula,
const std::vector<FormulaSetT>& _infSubSets )
63 assert( !_formula.empty() );
64 for(
const auto& iss : _infSubSets )
67 mInfSubsetsSavings += (double)(_formula.size()-iss.size())/(
double)_formula.size();
76 void createTestCandidate()
81 void omittedConstraintByVB( carl::uint _numberOfOmittedConstraints = 1 )
83 mVBOmittedConstraints += _numberOfOmittedConstraints;
86 void localConflict( carl::uint _numberOfOmittedConstraints )
88 mBranchingLemmas += _numberOfOmittedConstraints;
92 void backjumping( carl::uint _numberOfOmittedConstraints )
95 mBJOmittedConstraints += _numberOfOmittedConstraints;
98 void coveringSet( carl::uint _coveringSetSize, carl::uint _numberOfConstraintsToSolve )
101 if( _numberOfConstraintsToSolve > 0 )
102 mCoveringSetSavings += (double)(_numberOfConstraintsToSolve-_coveringSetSize)/(double)_numberOfConstraintsToSolve;
115 void omittedConstraintsWithVB( carl::uint _numberOfOmittedConstraints = 1 )
117 mVBOmittedConstraints += _numberOfOmittedConstraints;
120 void omittedTestCandidateWithVB( carl::uint _numberOfOmittedConstraints )
123 mVBOmittedConstraints += _numberOfOmittedConstraints;
Class to create the formulas for axioms.
carl::statistics::Statistics Statistics