mirror of
https://github.com/Z3Prover/z3
synced 2025-06-21 21:33:39 +00:00
enable incremental bit-vector solving
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
0ed38ed59b
commit
cc5d719d9e
15 changed files with 208 additions and 55 deletions
|
@ -73,5 +73,22 @@ void expr2var::reset() {
|
|||
dec_ref_map_keys(m(), m_mapping);
|
||||
SASSERT(m_mapping.empty());
|
||||
m_recent_exprs.reset();
|
||||
m_recent_lim.reset();
|
||||
m_interpreted_vars = false;
|
||||
}
|
||||
|
||||
void expr2var::push() {
|
||||
m_recent_lim.push_back(m_recent_exprs.size());
|
||||
}
|
||||
|
||||
void expr2var::pop(unsigned num_scopes) {
|
||||
if (num_scopes > 0) {
|
||||
unsigned sz = m_recent_lim[m_recent_lim.size() - num_scopes];
|
||||
for (unsigned i = sz; i < m_recent_exprs.size(); ++i) {
|
||||
m_mapping.erase(m_recent_exprs[i]);
|
||||
m().dec_ref(m_recent_exprs[i]);
|
||||
}
|
||||
m_recent_exprs.shrink(sz);
|
||||
m_recent_lim.shrink(m_recent_lim.size() - num_scopes);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue