mirror of
https://github.com/Z3Prover/z3
synced 2025-04-23 09:05:31 +00:00
fixing cancellation code paths for inc_sat_solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
b1d673e3eb
commit
ca309341c3
5 changed files with 41 additions and 15 deletions
|
@ -165,6 +165,10 @@ struct blaster_rewriter_cfg : public default_rewriter_cfg {
|
|||
m_keyval_lim.push_back(m_keys.size());
|
||||
}
|
||||
|
||||
unsigned get_num_scopes() const {
|
||||
return m_keyval_lim.size();
|
||||
}
|
||||
|
||||
void pop(unsigned num_scopes) {
|
||||
if (num_scopes > 0) {
|
||||
SASSERT(num_scopes <= m_keyval_lim.size());
|
||||
|
@ -637,6 +641,7 @@ struct bit_blaster_rewriter::imp : public rewriter_tpl<blaster_rewriter_cfg> {
|
|||
}
|
||||
void push() { m_cfg.push(); }
|
||||
void pop(unsigned s) { m_cfg.pop(s); }
|
||||
unsigned get_num_scopes() const { return m_cfg.get_num_scopes(); }
|
||||
};
|
||||
|
||||
bit_blaster_rewriter::bit_blaster_rewriter(ast_manager & m, params_ref const & p):
|
||||
|
@ -680,3 +685,7 @@ void bit_blaster_rewriter::operator()(expr * e, expr_ref & result, proof_ref & r
|
|||
m_imp->operator()(e, result, result_proof);
|
||||
}
|
||||
|
||||
unsigned bit_blaster_rewriter::get_num_scopes() const {
|
||||
return m_imp->get_num_scopes();
|
||||
}
|
||||
|
||||
|
|
|
@ -37,6 +37,7 @@ public:
|
|||
void operator()(expr * e, expr_ref & result, proof_ref & result_proof);
|
||||
void push();
|
||||
void pop(unsigned num_scopes);
|
||||
unsigned get_num_scopes() const;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue