mirror of
https://github.com/Z3Prover/z3
synced 2025-11-25 23:19:32 +00:00
restore the scheme of m_columns_with_changed_bounds
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
a88aa7ffa5
commit
edd1761ff3
8 changed files with 47 additions and 34 deletions
|
|
@ -260,8 +260,9 @@ namespace nla {
|
|||
}
|
||||
|
||||
void monomial_bounds::unit_propagate() {
|
||||
for (auto const& m : c().m_emons) {
|
||||
unit_propagate(m);
|
||||
for (lpvar v : c().m_monics_with_changed_bounds) {
|
||||
if (!c().is_monic_var(v)) continue;
|
||||
unit_propagate(c().emons()[v]);
|
||||
if (c().lra.get_status() == lp::lp_status::INFEASIBLE) {
|
||||
lp::explanation exp;
|
||||
c().lra.get_infeasibility_explanation(exp);
|
||||
|
|
@ -276,14 +277,15 @@ namespace nla {
|
|||
}
|
||||
|
||||
|
||||
void monomial_bounds::unit_propagate(monic const& m) {
|
||||
void monomial_bounds::unit_propagate(monic & m) {
|
||||
if (m.is_propagated())
|
||||
return;
|
||||
|
||||
if (!is_linear(m))
|
||||
return;
|
||||
|
||||
|
||||
c().emons().set_propagated(m);
|
||||
|
||||
rational k = fixed_var_product(m);
|
||||
lpvar w = non_fixed_var(m);
|
||||
if (w == null_lpvar || k == 0) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue