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:
parent
2a3cfe0cb9
commit
a2d64e8441
5 changed files with 54 additions and 32 deletions
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue