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

do not use nl variables in random_update()

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2020-02-04 11:51:37 -08:00
parent 3ab7477663
commit 06173aa4d7
7 changed files with 57 additions and 7 deletions

View file

@ -1712,4 +1712,25 @@ unsigned core::get_var_weight(lpvar j) const {
}
bool core::is_nl_var(lpvar j) const {
if (is_monic_var(j))
return true;
return m_emons.is_used_in_monic(j);
}
bool core::influences_nl_var(lpvar j) const {
if (m_lar_solver.is_term(j))
j = m_lar_solver.adjust_term_index(j);
if (is_nl_var(j))
return true;
for (const auto & c : m_lar_solver.A_r().m_columns[j]) {
lpvar basic_in_row = m_lar_solver.r_basis()[c.var()];
if (is_nl_var(basic_in_row))
return true;
}
return false;
}
} // end of nla