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

fix a bug in nla_expr

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2019-07-05 14:35:40 -07:00
parent 1e625db84b
commit 87cc5c8d96
6 changed files with 48 additions and 21 deletions

View file

@ -126,17 +126,19 @@ std::ostream& intervals::display(std::ostream& out, const interval& i) const {
}
svector<lp::constraint_index> expl;
m_dep_manager.linearize(i.m_lower_dep, expl);
out << "\nlower constraints (\n";
for (lp::constraint_index c: expl)
m_core->m_lar_solver.print_constraint_indices_only(c, out);
out << ")\n";
expl.clear();
{
lp::explanation e(expl);
out << "\nlower constraints\n";
m_core->print_explanation(e, out);
expl.clear();
}
m_dep_manager.linearize(i.m_upper_dep, expl);
out << "upper constraints (\n";
for (lp::constraint_index c: expl)
m_core->m_lar_solver.print_constraint_indices_only(c, out);
{
lp::explanation e(expl);
out << "\n)\nupper constraints (\n";
m_core->print_explanation(e, out);
}
out << ")\n";
return out;
}
@ -144,12 +146,6 @@ lp::lar_solver& intervals::ls() { return m_core->m_lar_solver; }
const lp::lar_solver& intervals::ls() const { return m_core->m_lar_solver; }
std::ostream& intervals::print_explanations(const svector<lp::constraint_index> &expl , std::ostream& out) const {
out << "interv expl:\n ";
for (auto ci : expl)
m_core->m_lar_solver.print_constraint_indices_only(ci, out);
return out;
}
} // end of nla namespace