mirror of
https://github.com/Z3Prover/z3
synced 2025-06-05 21:53:23 +00:00
Change declaration of projector
This commit is contained in:
parent
bbd917a0e6
commit
e355123e37
2 changed files with 235 additions and 238 deletions
|
@ -540,8 +540,7 @@ namespace qe {
|
||||||
m_cg_table.reset();
|
m_cg_table.reset();
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace {
|
class term_graph::projector {
|
||||||
class projector {
|
|
||||||
term_graph &m_tg;
|
term_graph &m_tg;
|
||||||
ast_manager &m;
|
ast_manager &m;
|
||||||
u_map<expr*> m_term2app;
|
u_map<expr*> m_term2app;
|
||||||
|
@ -803,7 +802,6 @@ namespace qe {
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
|
||||||
|
|
||||||
void term_graph::set_vars(func_decl_ref_vector const& decls, bool exclude) {
|
void term_graph::set_vars(func_decl_ref_vector const& decls, bool exclude) {
|
||||||
m_is_var.set_decls(decls, exclude);
|
m_is_var.set_decls(decls, exclude);
|
||||||
|
@ -812,13 +810,13 @@ namespace qe {
|
||||||
expr_ref_vector term_graph::project() {
|
expr_ref_vector term_graph::project() {
|
||||||
// reset solved vars so that they are not considered pure by projector
|
// reset solved vars so that they are not considered pure by projector
|
||||||
m_is_var.reset_solved();
|
m_is_var.reset_solved();
|
||||||
projector p(*this);
|
term_graph::projector p(*this);
|
||||||
return p.project();
|
return p.project();
|
||||||
}
|
}
|
||||||
|
|
||||||
expr_ref_vector term_graph::project(model &mdl) {
|
expr_ref_vector term_graph::project(model &mdl) {
|
||||||
m_is_var.reset_solved();
|
m_is_var.reset_solved();
|
||||||
projector p(*this);
|
term_graph::projector p(*this);
|
||||||
p.set_model(mdl);
|
p.set_model(mdl);
|
||||||
return p.project();
|
return p.project();
|
||||||
}
|
}
|
||||||
|
@ -826,7 +824,7 @@ namespace qe {
|
||||||
expr_ref_vector term_graph::solve() {
|
expr_ref_vector term_graph::solve() {
|
||||||
// reset solved vars so that they are not considered pure by projector
|
// reset solved vars so that they are not considered pure by projector
|
||||||
m_is_var.reset_solved();
|
m_is_var.reset_solved();
|
||||||
projector p(*this);
|
term_graph::projector p(*this);
|
||||||
return p.solve();
|
return p.solve();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,10 +28,9 @@ Notes:
|
||||||
namespace qe {
|
namespace qe {
|
||||||
|
|
||||||
class term;
|
class term;
|
||||||
namespace {class projector;}
|
|
||||||
|
|
||||||
class term_graph {
|
class term_graph {
|
||||||
friend class projector;
|
class projector;
|
||||||
|
|
||||||
class is_variable_proc : public ::is_variable_proc {
|
class is_variable_proc : public ::is_variable_proc {
|
||||||
bool m_exclude;
|
bool m_exclude;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue