3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-22 11:07:51 +00:00

fix internalization for quot/rem

This commit is contained in:
Nikolaj Bjorner 2023-12-10 22:21:14 -08:00
parent 2a3cfe0cb9
commit a2d64e8441
5 changed files with 54 additions and 32 deletions

View file

@ -108,6 +108,7 @@ namespace polysat {
m_watch.push_back({});
m_var_queue.mk_var_eh(v);
m_viable.ensure_var(v);
m_values.push_back(rational::zero());
s.trail().push(mk_add_var(*this));
return v;
}
@ -118,6 +119,7 @@ namespace polysat {
m_activity.pop_back();
m_justification.pop_back();
m_watch.pop_back();
m_values.pop_back();
m_var_queue.del_var_eh(v);
}

View file

@ -67,13 +67,17 @@ namespace polysat {
};
viable::entry* viable::alloc_entry(pvar var, unsigned constraint_index) {
entry* e = nullptr;
if (m_alloc.empty())
return alloc(entry);
auto* e = m_alloc.back();
e = alloc(entry);
else {
e = m_alloc.back();
m_alloc.pop_back();
}
e->reset();
e->var = var;
e->constraint_index = constraint_index;
m_alloc.pop_back();
return e;
}