SMT-RAT  24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
NewCADStatistics.h
Go to the documentation of this file.
1 /**
2  * @file NewCADStatistics.h
3  * @author YOUR NAME <YOUR EMAIL ADDRESS>
4  *
5  * @version 2016-02-23
6  * Created on 2016-02-23.
7  */
8 
9 #pragma once
10 
12 #ifdef SMTRAT_DEVOPTION_Statistics
14 
15 namespace smtrat
16 {
17  class NewCADStatistics : public Statistics {
18  private:
19  std::size_t mCalls = 0;
20  bool mECInCAD = false;
21  std::size_t mComputedPolynomials = 0;
22  std::size_t mUsedRestrictedProj = 0;
23  std::size_t mMaxPurgedPolynomials = 0;
24  std::size_t mMaxProjectionSize = 0;
25  public:
26  void collect() {
27  Statistics::addKeyValuePair("calls", mCalls);
28  Statistics::addKeyValuePair("ec_in_cad", mECInCAD);
29  Statistics::addKeyValuePair("computed_polynomials", mComputedPolynomials);
30  Statistics::addKeyValuePair("used_restricted_projection", mUsedRestrictedProj);
31  Statistics::addKeyValuePair("max_purged_polynomials", mMaxPurgedPolynomials);
32  Statistics::addKeyValuePair("max_projection_size", mMaxProjectionSize);
33  }
34  void called() {
35  mCalls++;
36  }
37  void addedECtoCAD() {
38  mECInCAD = true;
39  }
40  void computePolynomial() {
41  mComputedPolynomials += 1;
42  }
43  void usedRestrictedProjection() {
44  mUsedRestrictedProj += 1;
45  }
46  void currentlyPurgedPolynomials(std::size_t number) {
47  mMaxPurgedPolynomials = std::max(mMaxPurgedPolynomials, number);
48  }
49  void currentProjectionSize(std::size_t size) {
50  mMaxProjectionSize = std::max(mMaxProjectionSize, size);
51  }
52  };
53 }
54 
55 #endif
Class to create the formulas for axioms.
carl::statistics::Statistics Statistics
Definition: Statistics.h:7