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:
parent
3ab7477663
commit
06173aa4d7
7 changed files with 57 additions and 7 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue