mirror of
https://github.com/Z3Prover/z3
synced 2025-04-08 10:25:18 +00:00
fix bug in propagation of parameters to combined solvers
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
bdfa84c6fe
commit
f015e3e4cc
|
@ -35,6 +35,7 @@ namespace sat {
|
|||
m_glue("glue"),
|
||||
m_glue_psm("glue_psm"),
|
||||
m_psm_glue("psm_glue") {
|
||||
m_num_parallel = 1;
|
||||
updt_params(p);
|
||||
}
|
||||
|
||||
|
|
|
@ -804,7 +804,7 @@ namespace sat {
|
|||
sat::par par;
|
||||
symbol saved_phase = m_params.get_sym("phase", symbol("caching"));
|
||||
for (int i = 0; i < num_extra_solvers; ++i) {
|
||||
m_params.set_uint("random_seed", i + m_config.m_random_seed);
|
||||
m_params.set_uint("random_seed", m_rand());
|
||||
if (i == 1 + num_threads/2) {
|
||||
m_params.set_sym("phase", symbol("random"));
|
||||
}
|
||||
|
@ -813,13 +813,13 @@ namespace sat {
|
|||
solvers[i]->set_par(&par);
|
||||
scoped_rlimit.push_child(&solvers[i]->rlimit());
|
||||
}
|
||||
set_par(&par);
|
||||
m_params.set_sym("phase", saved_phase);
|
||||
int finished_id = -1;
|
||||
std::string ex_msg;
|
||||
par_exception_kind ex_kind;
|
||||
unsigned error_code = 0;
|
||||
lbool result = l_undef;
|
||||
flet<unsigned> _overwrite_thread_number(m_config.m_num_parallel, 1);
|
||||
#pragma omp parallel for
|
||||
for (int i = 0; i < num_threads; ++i) {
|
||||
try {
|
||||
|
@ -867,6 +867,7 @@ namespace sat {
|
|||
}
|
||||
}
|
||||
}
|
||||
set_par(0);
|
||||
if (finished_id != -1 && finished_id < num_extra_solvers) {
|
||||
m_stats = solvers[finished_id]->m_stats;
|
||||
}
|
||||
|
|
|
@ -54,7 +54,7 @@ public:
|
|||
/**
|
||||
\brief Update the solver internal settings.
|
||||
*/
|
||||
virtual void updt_params(params_ref const & p) {}
|
||||
virtual void updt_params(params_ref const & p) { }
|
||||
|
||||
/**
|
||||
\brief Store in \c r a description of the configuration
|
||||
|
|
|
@ -93,6 +93,7 @@ public:
|
|||
{}
|
||||
|
||||
virtual void updt_params(params_ref const & p) {
|
||||
m_params.append(p);
|
||||
m_solver->updt_params(p);
|
||||
}
|
||||
|
||||
|
|
|
@ -96,7 +96,7 @@ tactic2solver::~tactic2solver() {
|
|||
}
|
||||
|
||||
void tactic2solver::updt_params(params_ref const & p) {
|
||||
m_params = p;
|
||||
m_params.append(p);
|
||||
}
|
||||
|
||||
void tactic2solver::collect_param_descrs(param_descrs & r) {
|
||||
|
|
Loading…
Reference in a new issue