mirror of
https://github.com/Z3Prover/z3
synced 2025-05-06 07:15:47 +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
|
@ -98,6 +98,11 @@ struct bit_blaster_model_converter : public model_converter {
|
|||
SASSERT(m_vars.size() == m_bits.size());
|
||||
unsigned sz = m_vars.size();
|
||||
for (unsigned i = 0; i < sz; i++) {
|
||||
expr* new_val = old_model->get_const_interp(m_vars.get(i));
|
||||
if (new_val) {
|
||||
new_model->register_decl(m_vars.get(i), new_val);
|
||||
continue;
|
||||
}
|
||||
expr * bs = m_bits.get(i);
|
||||
val.reset();
|
||||
unsigned bv_sz = to_app(bs)->get_num_args();
|
||||
|
@ -132,7 +137,7 @@ struct bit_blaster_model_converter : public model_converter {
|
|||
val++;
|
||||
}
|
||||
}
|
||||
expr * new_val = util.mk_numeral(val, bv_sz);
|
||||
new_val = util.mk_numeral(val, bv_sz);
|
||||
new_model->register_decl(m_vars.get(i), new_val);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue