3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-03 21:01:22 +00:00

Change declaration of projector

This commit is contained in:
Arie Gurfinkel 2018-06-14 06:37:09 -07:00
parent bbd917a0e6
commit e355123e37
2 changed files with 235 additions and 238 deletions

View file

@ -540,8 +540,7 @@ namespace qe {
m_cg_table.reset();
}
namespace {
class projector {
class term_graph::projector {
term_graph &m_tg;
ast_manager &m;
u_map<expr*> m_term2app;
@ -803,7 +802,6 @@ namespace qe {
return res;
}
};
}
void term_graph::set_vars(func_decl_ref_vector const& decls, bool exclude) {
m_is_var.set_decls(decls, exclude);
@ -812,13 +810,13 @@ namespace qe {
expr_ref_vector term_graph::project() {
// reset solved vars so that they are not considered pure by projector
m_is_var.reset_solved();
projector p(*this);
term_graph::projector p(*this);
return p.project();
}
expr_ref_vector term_graph::project(model &mdl) {
m_is_var.reset_solved();
projector p(*this);
term_graph::projector p(*this);
p.set_model(mdl);
return p.project();
}
@ -826,7 +824,7 @@ namespace qe {
expr_ref_vector term_graph::solve() {
// reset solved vars so that they are not considered pure by projector
m_is_var.reset_solved();
projector p(*this);
term_graph::projector p(*this);
return p.solve();
}

View file

@ -28,10 +28,9 @@ Notes:
namespace qe {
class term;
namespace {class projector;}
class term_graph {
friend class projector;
class projector;
class is_variable_proc : public ::is_variable_proc {
bool m_exclude;