3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-24 01:25:31 +00:00
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2020-01-29 09:30:49 -08:00
parent abb13f8c76
commit d4a24aff1e
5 changed files with 11 additions and 3 deletions

View file

@ -48,6 +48,7 @@ namespace smt {
unsigned m_max_min;
unsigned m_gb_simplify, m_gb_superpose, m_gb_compute_basis, m_gb_num_processed;
unsigned m_nl_branching, m_nl_linear, m_nl_bounds, m_nl_cross_nested;
unsigned m_branch_infeasible_int, m_branch_infeasible_var;
void reset() { memset(this, 0, sizeof(theory_arith_stats)); }
theory_arith_stats() { reset(); }

View file

@ -1434,6 +1434,7 @@ namespace smt {
}
else {
if (m_params.m_arith_int_eq_branching && branch_infeasible_int_equality()) {
++m_stats.m_branch_infeasible_int;
return FC_CONTINUE;
}
@ -1442,6 +1443,7 @@ namespace smt {
TRACE("arith_int", tout << "v" << int_var << " does not have an integer assignment: " << get_value(int_var) << "\n";);
// apply branching
branch_infeasible_int_var(int_var);
++m_stats.m_branch_infeasible_var;
return FC_CONTINUE;
}
}

View file

@ -38,6 +38,8 @@ namespace smt {
st.update("arith gcd tests", m_stats.m_gcd_tests);
st.update("arith ineq splits", m_stats.m_branches);
st.update("arith gomory cuts", m_stats.m_gomory_cuts);
st.update("arith branch int", m_stats.m_branch_infeasible_int);
st.update("arith branch var", m_stats.m_branch_infeasible_var);
st.update("arith patches", m_stats.m_patches);
st.update("arith patches_succ", m_stats.m_patches_succ);
st.update("arith max-min", m_stats.m_max_min);

View file

@ -121,6 +121,7 @@ struct stats {
unsigned m_nla_explanations;
unsigned m_nla_lemmas;
unsigned m_assume_eqs;
unsigned m_branch;
stats() { reset(); }
void reset() {
memset(this, 0, sizeof(*this));
@ -2058,6 +2059,7 @@ public:
// at this point we have a new unassigned atom that the
// SAT core assigns a value to
lia_check = l_false;
++m_stats.m_branch;
break;
}
case lp::lia_move::cut: {
@ -3825,6 +3827,7 @@ public:
st.update("arith-nla-lemmas", m_stats.m_nla_lemmas);
st.update("arith-gomory-cuts", m_stats.m_gomory_cuts);
st.update("arith-assume-eqs", m_stats.m_assume_eqs);
st.update("arith-branch", m_stats.m_branch);
}
};