mirror of
https://github.com/Z3Prover/z3
synced 2025-07-25 13:47:01 +00:00
take the coefficient from cut_result, not lia
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
1b3929099b
commit
2ac866a8d0
2 changed files with 4 additions and 3 deletions
|
@ -410,12 +410,11 @@ public:
|
||||||
return all_of(t, [&](auto ci) { return ci.coeff().is_small(); });
|
return all_of(t, [&](auto ci) { return ci.coeff().is_small(); });
|
||||||
};
|
};
|
||||||
auto add_cut = [&](cut_result const& cr) {
|
auto add_cut = [&](cut_result const& cr) {
|
||||||
u_dependency* dep = cr.dep;
|
|
||||||
lp::lpvar term_index = lra.add_term(cr.t.coeffs_as_vector(), UINT_MAX);
|
lp::lpvar term_index = lra.add_term(cr.t.coeffs_as_vector(), UINT_MAX);
|
||||||
term_index = lra.map_term_index_to_column_index(term_index);
|
term_index = lra.map_term_index_to_column_index(term_index);
|
||||||
lra.update_column_type_and_bound(term_index,
|
lra.update_column_type_and_bound(term_index,
|
||||||
lp::lconstraint_kind::GE,
|
lp::lconstraint_kind::GE,
|
||||||
lia.m_k, dep);
|
cr.k, cr.dep);
|
||||||
};
|
};
|
||||||
auto _check_feasible = [&](void) {
|
auto _check_feasible = [&](void) {
|
||||||
lra.find_feasible_solution();
|
lra.find_feasible_solution();
|
||||||
|
|
|
@ -562,7 +562,9 @@ public:
|
||||||
std::ostream& print_implied_bound(const implied_bound& be, std::ostream& out) const;
|
std::ostream& print_implied_bound(const implied_bound& be, std::ostream& out) const;
|
||||||
std::ostream& print_values(std::ostream& out) const;
|
std::ostream& print_values(std::ostream& out) const;
|
||||||
std::ostream& display(std::ostream& out) const;
|
std::ostream& display(std::ostream& out) const;
|
||||||
|
std::ostream& display_constraint(std::ostream& out, constraint_index ci) const {
|
||||||
|
return m_constraints.display(out, ci);
|
||||||
|
}
|
||||||
bool init_model() const;
|
bool init_model() const;
|
||||||
mpq from_model_in_impq_to_mpq(const impq& v) const { return v.x + m_delta * v.y; }
|
mpq from_model_in_impq_to_mpq(const impq& v) const { return v.x + m_delta * v.y; }
|
||||||
mpq get_value(column_index const& j) const;
|
mpq get_value(column_index const& j) const;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue