3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-25 23:19:32 +00:00

add user propagators to opt_solver

This commit is contained in:
Nikolaj Bjorner 2025-10-02 19:44:22 -07:00
parent 0e6b3a922a
commit e137aaa249
5 changed files with 58 additions and 6 deletions

View file

@ -657,6 +657,8 @@ void cmd_context::set_opt(opt_wrapper* opt) {
for (auto const& [var, value] : m_var2values)
m_opt->initialize_value(var, value);
m_opt->set_logic(m_logic);
if (m_preferred)
m_opt->set_preferred(m_preferred.get());
}
void cmd_context::global_params_updated() {
@ -1896,11 +1898,9 @@ void cmd_context::set_preferred(expr* fmla) {
get_solver()->user_propagate_register_decide(p->decide_eh);
}
}
if (get_opt())
get_opt()->set_preferred(m_preferred.get());
m_preferred->set_preferred(fmla);
if (get_opt()) {
throw default_exception("setting preferred on optimization context is not supported yet");
return;
}
}
void cmd_context::reset_preferred() {