mirror of
https://github.com/Z3Prover/z3
synced 2025-04-28 11:25:51 +00:00
move m_fixed_var_table to lar_solver
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
This commit is contained in:
parent
3b87cdfd0f
commit
fe0e042e40
6 changed files with 131 additions and 141 deletions
|
@ -325,19 +325,9 @@ public:
|
|||
if (y == null_lpvar) {
|
||||
// x is an implied fixed var at k.
|
||||
value_sort_pair key(k, is_int(x));
|
||||
int x2;
|
||||
if (m_imp.m_fixed_var_table.find(key, x2) &&
|
||||
x2 < static_cast<int>(m_imp.get_num_vars())
|
||||
&&
|
||||
lp().column_is_fixed(x2 = imp_to_col(x2)) && // change x2
|
||||
get_lower_bound_rational(x2) == k &&
|
||||
// We must check whether x2 is an integer.
|
||||
// The table m_fixed_var_table is not restored during backtrack. So, it may
|
||||
// contain invalid (key -> value) pairs.
|
||||
// So, we must check whether x2 is really equal to k (previous test)
|
||||
// AND has the same sort of x.
|
||||
is_int(x) == is_int(x2) &&
|
||||
!is_equal(x, x2)) {
|
||||
unsigned x2;
|
||||
if (lp().fixed_var_table().find(key, x2) && !is_equal(x, x2)) {
|
||||
SASSERT(lp().column_is_fixed(x2) && get_lower_bound_rational(x2) == k && is_int(x) == is_int(x2));
|
||||
explanation ex;
|
||||
constraint_index lc, uc;
|
||||
lp().get_bound_constraint_witnesses_for_column(x2, lc, uc);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue