3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-28 03:15:50 +00:00

fix bugs in patching

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
Lev Nachmanson 2020-05-29 14:55:31 -07:00
parent e7bb8e57cb
commit c355ee025a
3 changed files with 40 additions and 58 deletions

View file

@ -260,7 +260,6 @@ class lar_solver : public column_namer {
void update_delta_for_terms(const impq & delta, unsigned j, const vector<unsigned>&);
void fill_vars_to_terms(vector<vector<unsigned>> & vars_to_terms);
bool remove_from_basis(unsigned);
bool remove_from_basis(unsigned, const mpq&);
lar_term get_term_to_maximize(unsigned ext_j) const;
bool sum_first_coords(const lar_term& t, mpq & val) const;
void collect_rounded_rows_to_fix();
@ -362,14 +361,13 @@ public:
const ChangeReport& change_report) {
if (is_base(j)) {
TRACE("nla_solver", get_int_solver()->display_row_info(tout, row_of_basic_column(j)) << "\n";);
if (!remove_from_basis(j, val))
return false;
remove_from_basis(j);
}
impq ival(val);
if (is_blocked(j, ival))
return false;
TRACE("nla_solver", tout << "not blocked\n";);
impq delta = get_column_value(j) - ival;
for (const auto &c : A_r().column(j)) {
unsigned row_index = c.var();