3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-30 09:17:12 +00:00

Moved pool_solvers from spacer::manager into spacer::context

This commit is contained in:
Arie Gurfinkel 2018-05-31 14:48:01 -07:00
parent 451d42319b
commit 0b387cd7eb
6 changed files with 94 additions and 96 deletions

View file

@ -29,19 +29,21 @@ Revision History:
#include "smt/smt_kernel.h"
#include "util/util.h"
#include "util/vector.h"
#include "muz/spacer/spacer_manager.h"
#include "solver/solver.h"
#include "muz/spacer/spacer_iuc_solver.h"
#include "muz/spacer/spacer_util.h"
struct fixedpoint_params;
namespace spacer {
typedef ptr_vector<func_decl> decl_vector;
class prop_solver {
private:
ast_manager& m;
symbol m_name;
solver* m_solvers[2];
ref<solver> m_solvers[2];
scoped_ptr<iuc_solver> m_contexts[2];
iuc_solver * m_ctx;
decl_vector m_level_preds;
@ -73,7 +75,7 @@ private:
public:
prop_solver(spacer::manager &manager,
prop_solver(ast_manager &m, solver *solver0, solver* solver1,
fixedpoint_params const& p, symbol const& name);
@ -142,7 +144,7 @@ public:
solver *sol;
scoped_weakness(prop_solver &ps, unsigned solver_id, unsigned weakness)
: sol(nullptr) {
sol = ps.m_solvers[solver_id == 0 ? 0 : 0 /* 1 */];
sol = ps.m_solvers[solver_id == 0 ? 0 : 0 /* 1 */].get();
if (!sol) return;
sol->push_params();