mirror of
https://github.com/Z3Prover/z3
synced 2026-02-20 07:24:40 +00:00
track rounded columns in lar_solver
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
f9917edf6c
commit
4ba4d41346
5 changed files with 47 additions and 27 deletions
|
|
@ -144,19 +144,18 @@ lia_move int_solver::mk_gomory_cut( unsigned inf_col, const row_strip<mpq> & row
|
|||
lia_move int_solver::proceed_with_gomory_cut(unsigned j) {
|
||||
const row_strip<mpq>& row = m_lar_solver->get_row(row_of_basic_column(j));
|
||||
|
||||
SASSERT(m_lar_solver->row_is_correct(row_of_basic_column(j)));
|
||||
|
||||
if (!is_gomory_cut_target(row))
|
||||
return create_branch_on_column(j);
|
||||
|
||||
if (!m_lar_solver->row_is_correct(row_of_basic_column(j)))
|
||||
return lia_move::undef;
|
||||
|
||||
m_upper = true;
|
||||
return mk_gomory_cut(j, row);
|
||||
}
|
||||
|
||||
|
||||
unsigned int_solver::row_of_basic_column(unsigned j) const {
|
||||
return m_lar_solver->m_mpq_lar_core_solver.m_r_heading[j];
|
||||
return m_lar_solver->row_of_basic_column(j);
|
||||
}
|
||||
|
||||
// template <typename T>
|
||||
|
|
@ -406,6 +405,9 @@ lia_move int_solver::hnf_cut() {
|
|||
}
|
||||
|
||||
lia_move int_solver::check() {
|
||||
++m_number_of_calls;
|
||||
m_lar_solver->restore_rounded_columns();
|
||||
SASSERT(m_lar_solver->ax_is_correct());
|
||||
if (!has_inf_int()) return lia_move::sat;
|
||||
|
||||
#define CHECK_RET(fn) \
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue