3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-03 09:50:23 +00:00

moving to resource managed cancellation

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2015-12-11 13:13:11 -08:00
parent 61dbb6168e
commit 32b6b2da44
41 changed files with 55 additions and 280 deletions

View file

@ -25,14 +25,12 @@ class qe_tactic : public tactic {
struct imp {
ast_manager & m;
smt_params m_fparams;
volatile bool m_cancel;
qe::expr_quant_elim m_qe;
imp(ast_manager & _m, params_ref const & p):
m(_m),
m_qe(m, m_fparams) {
updt_params(p);
m_cancel = false;
}
void updt_params(params_ref const & p) {
@ -45,13 +43,8 @@ class qe_tactic : public tactic {
m_qe.collect_param_descrs(r);
}
void set_cancel(bool f) {
m_cancel = f;
m_qe.set_cancel(f);
}
void checkpoint() {
if (m_cancel)
if (m.canceled())
throw tactic_exception(TACTIC_CANCELED_MSG);
cooperate("qe");
}
@ -141,11 +134,6 @@ public:
}
}
protected:
virtual void set_cancel(bool f) {
if (m_imp)
m_imp->set_cancel(f);
}
};
tactic * mk_qe_tactic(ast_manager & m, params_ref const & p) {