3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-06-27 08:28:44 +00:00

Move spacer qe into spacer_qe namespace

Attempt to solve compilation issues with GCC and current replication
of qe namespace inside and outside spacer
This commit is contained in:
Arie Gurfinkel 2018-05-21 17:39:35 -07:00
parent 56bce005a0
commit 054c6196a0
4 changed files with 64 additions and 64 deletions

View file

@ -99,7 +99,7 @@ void qe_project(ast_manager& m, app_ref_vector& vars, expr_ref& fml, model_ref&
); );
{ {
scoped_no_proof _sp(m); scoped_no_proof _sp(m);
qe::arith_project(*M, arith_vars, fml, map); spacer_qe::arith_project(*M, arith_vars, fml, map);
} }
SASSERT(arith_vars.empty()); SASSERT(arith_vars.empty());
TRACE("spacer", TRACE("spacer",

View file

@ -41,7 +41,7 @@ Revision History:
#include "muz/spacer/spacer_mev_array.h" #include "muz/spacer/spacer_mev_array.h"
#include "muz/spacer/spacer_qe_project.h" #include "muz/spacer/spacer_qe_project.h"
namespace namespace spacer_qe
{ {
bool is_partial_eq (app* a); bool is_partial_eq (app* a);
@ -186,7 +186,7 @@ bool is_partial_eq (app* a) {
} }
namespace qe { namespace spacer_qe {
class is_relevant_default : public i_expr_pred { class is_relevant_default : public i_expr_pred {
public: public:
@ -195,7 +195,7 @@ namespace qe {
} }
}; };
class mk_atom_default : public i_nnf_atom { class mk_atom_default : public qe::i_nnf_atom {
public: public:
void operator()(expr* e, bool pol, expr_ref& result) override { void operator()(expr* e, bool pol, expr_ref& result) override {
if (pol) result = e; if (pol) result = e;
@ -2254,7 +2254,7 @@ namespace qe {
void arith_project(model& mdl, app_ref_vector& vars, expr_ref& fml) { void arith_project(model& mdl, app_ref_vector& vars, expr_ref& fml) {
ast_manager& m = vars.get_manager(); ast_manager& m = vars.get_manager();
arith_project_util ap(m); arith_project_util ap(m);
atom_set pos_lits, neg_lits; qe::atom_set pos_lits, neg_lits;
is_relevant_default is_relevant; is_relevant_default is_relevant;
mk_atom_default mk_atom; mk_atom_default mk_atom;
get_nnf (fml, is_relevant, mk_atom, pos_lits, neg_lits); get_nnf (fml, is_relevant, mk_atom, pos_lits, neg_lits);
@ -2264,7 +2264,7 @@ namespace qe {
void arith_project(model& mdl, app_ref_vector& vars, expr_ref& fml, expr_map& map) { void arith_project(model& mdl, app_ref_vector& vars, expr_ref& fml, expr_map& map) {
ast_manager& m = vars.get_manager(); ast_manager& m = vars.get_manager();
arith_project_util ap(m); arith_project_util ap(m);
atom_set pos_lits, neg_lits; qe::atom_set pos_lits, neg_lits;
is_relevant_default is_relevant; is_relevant_default is_relevant;
mk_atom_default mk_atom; mk_atom_default mk_atom;
get_nnf (fml, is_relevant, mk_atom, pos_lits, neg_lits); get_nnf (fml, is_relevant, mk_atom, pos_lits, neg_lits);

View file

@ -23,7 +23,7 @@ Notes:
#include "model/model.h" #include "model/model.h"
#include "ast/expr_map.h" #include "ast/expr_map.h"
namespace qe { namespace spacer_qe {
/** /**
Loos-Weispfenning model-based projection for a basic conjunction. Loos-Weispfenning model-based projection for a basic conjunction.
Lits is a vector of literals. Lits is a vector of literals.

View file

@ -545,7 +545,7 @@ namespace spacer {
scoped_no_proof _sp (m); scoped_no_proof _sp (m);
// -- local rewriter that is aware of current proof mode // -- local rewriter that is aware of current proof mode
th_rewriter srw(m); th_rewriter srw(m);
qe::array_project (*M.get (), array_vars, fml, vars, reduce_all_selects); spacer_qe::array_project (*M.get (), array_vars, fml, vars, reduce_all_selects);
SASSERT (array_vars.empty ()); SASSERT (array_vars.empty ());
srw (fml); srw (fml);
SASSERT (!m.is_false (fml)); SASSERT (!m.is_false (fml));
@ -582,7 +582,7 @@ namespace spacer {
SASSERT (arith_vars.empty ()); SASSERT (arith_vars.empty ());
} else { } else {
scoped_no_proof _sp (m); scoped_no_proof _sp (m);
qe::arith_project (*M.get (), arith_vars, fml); spacer_qe::arith_project (*M.get (), arith_vars, fml);
} }
TRACE ("spacer_mbp", TRACE ("spacer_mbp",