3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-12-31 16:29:52 +00:00

add stats to track levelwise calls

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2025-12-03 15:07:34 -10:00
parent 2a6661846c
commit 2cff9e277e
4 changed files with 24 additions and 23 deletions

View file

@ -239,6 +239,8 @@ namespace nlsat {
unsigned m_decisions;
unsigned m_stages;
unsigned m_irrational_assignments; // number of irrational witnesses
unsigned m_levelwise_calls;
unsigned m_levelwise_successes;
void reset() { memset(this, 0, sizeof(*this)); }
stats() { reset(); }
};
@ -2750,6 +2752,8 @@ namespace nlsat {
st.update("nlsat stages", m_stats.m_stages);
st.update("nlsat simplifications", m_stats.m_simplifications);
st.update("nlsat irrational assignments", m_stats.m_irrational_assignments);
st.update("levelwise calls", m_stats.m_levelwise_calls);
st.update("levelwise successes", m_stats.m_levelwise_successes);
}
void reset_statistics() {
@ -4613,6 +4617,12 @@ namespace nlsat {
m_imp->m_stats.m_simplifications++;
}
void solver::record_levelwise_result(bool success) {
m_imp->m_stats.m_levelwise_calls++;
if (success)
m_imp->m_stats.m_levelwise_successes++;
}
bool solver::has_root_atom(clause const& c) const {
return m_imp->has_root_atom(c);
}