3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-29 03:45:51 +00:00

adding checks

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2021-12-03 13:17:48 -08:00
parent 970347e797
commit 1618c970df
3 changed files with 11 additions and 9 deletions

View file

@ -51,25 +51,23 @@ bool random_updater::shift_var(unsigned j) {
void random_updater::update() {
// VERIFY(m_lar_solver.check_feasible());
auto columns = m_var_set.index(); // m_var_set is going to change during the loop
for (auto j : columns) {
if (!m_var_set.contains(j)) {
TRACE("lar_solver_rand", tout << "skipped " << j << "\n";);
continue;
}
if (!m_lar_solver.is_base(j)) {
if (!m_lar_solver.is_base(j))
shift_var(j);
} else {
else {
unsigned row_index = m_lar_solver.r_heading()[j];
for (auto & row_c : m_lar_solver.get_row(row_index)) {
unsigned cj = row_c.var();
if (!m_lar_solver.is_base(cj) &&
!m_lar_solver.column_is_fixed(cj)
&&
shift_var(cj)
) {
break; // done with the basic var j
}
!m_lar_solver.column_is_fixed(cj) &&
shift_var(cj))
break; // done with the basic var j
}
}
}