From 180d38378a2013a288d476ecc2274ed2e05a6618 Mon Sep 17 00:00:00 2001 From: Arie Gurfinkel Date: Thu, 24 May 2018 12:12:48 -0700 Subject: [PATCH] Add additional API to solver_pool --- src/solver/solver_pool.cpp | 7 +++++++ src/solver/solver_pool.h | 2 ++ 2 files changed, 9 insertions(+) diff --git a/src/solver/solver_pool.cpp b/src/solver/solver_pool.cpp index 3cf39a64c..88838639e 100644 --- a/src/solver/solver_pool.cpp +++ b/src/solver/solver_pool.cpp @@ -65,6 +65,9 @@ public: solver* translate(ast_manager& m, params_ref const& p) override { UNREACHABLE(); return nullptr; } void updt_params(params_ref const& p) override { solver::updt_params(p); m_base->updt_params(p); } + void push_params() override {m_base->push_params();} + void pop_params() override {m_base->pop_params();} + void collect_param_descrs(param_descrs & r) override { m_base->collect_param_descrs(r); } void collect_statistics(statistics & st) const override { m_base->collect_statistics(st); } unsigned get_num_assertions() const override { return m_base->get_num_assertions(); } @@ -280,6 +283,10 @@ ptr_vector solver_pool::get_base_solvers() const { return solvers; } +void solver_pool::updt_params(const params_ref &p) { + ptr_vector solvers = get_base_solvers(); + for (solver *s : solvers) s->updt_params(p); +} void solver_pool::collect_statistics(statistics &st) const { ptr_vector solvers = get_base_solvers(); for (solver* s : solvers) s->collect_statistics(st); diff --git a/src/solver/solver_pool.h b/src/solver/solver_pool.h index f279dfd4b..42c13fc58 100644 --- a/src/solver/solver_pool.h +++ b/src/solver/solver_pool.h @@ -66,6 +66,8 @@ public: solver* mk_solver(); void reset_solver(solver* s); + void updt_params(const params_ref &p); + };