mirror of
https://github.com/Z3Prover/z3
synced 2025-04-15 13:28:47 +00:00
rename to core2 to avoid overloaded virtual
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
5a8154c156
commit
fa0c75e76e
|
@ -115,7 +115,7 @@ public:
|
||||||
virtual void assert_expr_core(expr *t)
|
virtual void assert_expr_core(expr *t)
|
||||||
{m_solver.assert_expr(t);}
|
{m_solver.assert_expr(t);}
|
||||||
|
|
||||||
virtual void assert_expr_core(expr *t, expr *a)
|
virtual void assert_expr_core2(expr *t, expr *a)
|
||||||
{NOT_IMPLEMENTED_YET();}
|
{NOT_IMPLEMENTED_YET();}
|
||||||
virtual void assert_lemma(expr* e) { NOT_IMPLEMENTED_YET(); }
|
virtual void assert_lemma(expr* e) { NOT_IMPLEMENTED_YET(); }
|
||||||
virtual expr_ref lookahead(const expr_ref_vector &,const expr_ref_vector &) { return expr_ref(m.mk_true(), m); }
|
virtual expr_ref lookahead(const expr_ref_vector &,const expr_ref_vector &) { return expr_ref(m.mk_true(), m); }
|
||||||
|
|
|
@ -50,7 +50,7 @@ virtual_solver::virtual_solver(virtual_solver_factory &factory,
|
||||||
// -- change m_context, but will add m_pred to
|
// -- change m_context, but will add m_pred to
|
||||||
// -- the private field solver_na2as::m_assumptions
|
// -- the private field solver_na2as::m_assumptions
|
||||||
if (m_virtual)
|
if (m_virtual)
|
||||||
{ solver_na2as::assert_expr_core(m.mk_true(), m_pred); }
|
{ solver_na2as::assert_expr_core2(m.mk_true(), m_pred); }
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual_solver::~virtual_solver()
|
virtual_solver::~virtual_solver()
|
||||||
|
|
|
@ -186,7 +186,7 @@ namespace sat {
|
||||||
m_is_decision.reset();
|
m_is_decision.reset();
|
||||||
m_cube.reset();
|
m_cube.reset();
|
||||||
m_freevars_threshold = 0;
|
m_freevars_threshold = 0;
|
||||||
m_psat_threshold = DBL_MAX;
|
m_psat_threshold = 100000000.0;
|
||||||
reset_stats();
|
reset_stats();
|
||||||
}
|
}
|
||||||
void reset_stats() { m_conflicts = 0; m_cutoffs = 0; }
|
void reset_stats() { m_conflicts = 0; m_cutoffs = 0; }
|
||||||
|
|
|
@ -243,10 +243,10 @@ public:
|
||||||
--n;
|
--n;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
virtual unsigned get_scope_level() const {
|
unsigned get_scope_level() const override {
|
||||||
return m_num_scopes;
|
return m_num_scopes;
|
||||||
}
|
}
|
||||||
virtual void assert_expr_core(expr * t, expr * a) {
|
void assert_expr_core2(expr * t, expr * a) override {
|
||||||
if (a) {
|
if (a) {
|
||||||
m_asmsf.push_back(a);
|
m_asmsf.push_back(a);
|
||||||
assert_expr_core(m.mk_implies(a, t));
|
assert_expr_core(m.mk_implies(a, t));
|
||||||
|
|
|
@ -105,11 +105,11 @@ namespace smt {
|
||||||
m_context.assert_expr(t);
|
m_context.assert_expr(t);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void assert_expr_core(expr * t, expr * a) {
|
virtual void assert_expr_core2(expr * t, expr * a) {
|
||||||
if (m_name2assertion.contains(a)) {
|
if (m_name2assertion.contains(a)) {
|
||||||
throw default_exception("named assertion defined twice");
|
throw default_exception("named assertion defined twice");
|
||||||
}
|
}
|
||||||
solver_na2as::assert_expr_core(t, a);
|
solver_na2as::assert_expr_core2(t, a);
|
||||||
get_manager().inc_ref(t);
|
get_manager().inc_ref(t);
|
||||||
m_name2assertion.insert(a, t);
|
m_name2assertion.insert(a, t);
|
||||||
}
|
}
|
||||||
|
|
|
@ -172,7 +172,7 @@ public:
|
||||||
m_solver2->assert_expr(t);
|
m_solver2->assert_expr(t);
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual void assert_expr_core(expr * t, expr * a) {
|
virtual void assert_expr_core2(expr * t, expr * a) {
|
||||||
if (m_check_sat_executed)
|
if (m_check_sat_executed)
|
||||||
switch_inc_mode();
|
switch_inc_mode();
|
||||||
m_solver1->assert_expr(t, a);
|
m_solver1->assert_expr(t, a);
|
||||||
|
|
|
@ -199,7 +199,7 @@ void solver::assert_expr(expr* f, expr* t) {
|
||||||
// (*mc)(a);
|
// (*mc)(a);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
assert_expr_core(fml, a);
|
assert_expr_core2(fml, a);
|
||||||
}
|
}
|
||||||
|
|
||||||
void solver::collect_param_descrs(param_descrs & r) {
|
void solver::collect_param_descrs(param_descrs & r) {
|
||||||
|
|
|
@ -102,7 +102,7 @@ public:
|
||||||
|
|
||||||
void assert_expr(expr * t, expr* a);
|
void assert_expr(expr * t, expr* a);
|
||||||
|
|
||||||
virtual void assert_expr_core(expr * t, expr * a) = 0;
|
virtual void assert_expr_core2(expr * t, expr * a) = 0;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
\brief Create a backtracking point.
|
\brief Create a backtracking point.
|
||||||
|
|
|
@ -30,9 +30,9 @@ solver_na2as::solver_na2as(ast_manager & m):
|
||||||
|
|
||||||
solver_na2as::~solver_na2as() {}
|
solver_na2as::~solver_na2as() {}
|
||||||
|
|
||||||
void solver_na2as::assert_expr_core(expr * t, expr * a) {
|
void solver_na2as::assert_expr_core2(expr * t, expr * a) {
|
||||||
if (a == 0) {
|
if (a == 0) {
|
||||||
solver::assert_expr_core(t);
|
assert_expr_core(t);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
SASSERT(is_uninterp_const(a));
|
SASSERT(is_uninterp_const(a));
|
||||||
|
@ -41,7 +41,7 @@ void solver_na2as::assert_expr_core(expr * t, expr * a) {
|
||||||
m_assumptions.push_back(a);
|
m_assumptions.push_back(a);
|
||||||
expr_ref new_t(m);
|
expr_ref new_t(m);
|
||||||
new_t = m.mk_implies(a, t);
|
new_t = m.mk_implies(a, t);
|
||||||
solver::assert_expr_core(new_t);
|
assert_expr_core(new_t);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,7 +34,7 @@ public:
|
||||||
solver_na2as(ast_manager & m);
|
solver_na2as(ast_manager & m);
|
||||||
virtual ~solver_na2as();
|
virtual ~solver_na2as();
|
||||||
|
|
||||||
void assert_expr_core(expr * t, expr * a) override;
|
void assert_expr_core2(expr * t, expr * a) override;
|
||||||
// virtual void assert_expr_core(expr * t) = 0;
|
// virtual void assert_expr_core(expr * t) = 0;
|
||||||
|
|
||||||
// Subclasses of solver_na2as should redefine the following *_core methods instead of these ones.
|
// Subclasses of solver_na2as should redefine the following *_core methods instead of these ones.
|
||||||
|
|
|
@ -49,7 +49,7 @@ public:
|
||||||
m_in_delayed_scope(false),
|
m_in_delayed_scope(false),
|
||||||
m_dump_counter(0) {
|
m_dump_counter(0) {
|
||||||
if (is_virtual()) {
|
if (is_virtual()) {
|
||||||
solver_na2as::assert_expr_core(m.mk_true(), pred);
|
solver_na2as::assert_expr_core2(m.mk_true(), pred);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue