5 #ifdef SMTRAT_DEVOPTION_Statistics
15 std::size_t mExplanationCalled = 0;
16 std::size_t mExplanationSuccess = 0;
17 carl::statistics::Timer mOneCellTimer;
19 std::size_t m_algebraic_samples = 0;
20 carl::statistics::MultiCounter<std::size_t> m_levels;
23 bool enabled()
const {
28 Statistics::addKeyValuePair(
"explanation_called", mExplanationCalled);
29 Statistics::addKeyValuePair(
"explanation_success", mExplanationSuccess);
30 Statistics::addKeyValuePair(
"onecell_called", mOneCellTimer);
32 Statistics::addKeyValuePair(
"algebraic_samples", m_algebraic_samples);
33 Statistics::addKeyValuePair(
"levels", m_levels);
41 void explanationCalled() {
45 void explanationSuccess() {
46 ++mExplanationSuccess;
50 if (std::find_if(ass.begin(), ass.end(), [](
const auto& m) { return !m.second.is_numeric(); }) != ass.end()) {
51 m_algebraic_samples++;
53 m_levels.inc(ass.size(), 1);
carl::Assignment< RAN > Assignment
std::optional< cadcells::DNF > onecell(const std::vector< cadcells::Atom > &constraints, const cadcells::Polynomial::ContextType &context, const cadcells::Assignment &sample)
An MCSAT-style single cell explanation function.
Class to create the formulas for axioms.
carl::statistics::Statistics Statistics