mirror of
https://github.com/Z3Prover/z3
synced 2026-04-15 00:35:11 +00:00
add user propagators to opt_solver
This commit is contained in:
parent
0e6b3a922a
commit
e137aaa249
5 changed files with 58 additions and 6 deletions
|
|
@ -117,6 +117,49 @@ namespace opt {
|
|||
void set_phase(phase* p) override { m_context.set_phase(p); }
|
||||
void move_to_front(expr* e) override { m_context.move_to_front(e); }
|
||||
void user_propagate_initialize_value(expr* var, expr* value) override { m_context.user_propagate_initialize_value(var, value); }
|
||||
void user_propagate_init(void *ctx, user_propagator::push_eh_t &push_eh, user_propagator::pop_eh_t &pop_eh, user_propagator::fresh_eh_t &fresh_eh) override {
|
||||
m_context.user_propagate_init(ctx, push_eh, pop_eh, fresh_eh);
|
||||
m_first = false;
|
||||
}
|
||||
|
||||
void user_propagate_register_fixed(user_propagator::fixed_eh_t &fixed_eh) override {
|
||||
m_context.user_propagate_register_fixed(fixed_eh);
|
||||
}
|
||||
|
||||
void user_propagate_register_final(user_propagator::final_eh_t &final_eh) override {
|
||||
m_context.user_propagate_register_final(final_eh);
|
||||
}
|
||||
|
||||
void user_propagate_register_eq(user_propagator::eq_eh_t &eq_eh) override {
|
||||
m_context.user_propagate_register_eq(eq_eh);
|
||||
}
|
||||
|
||||
void user_propagate_register_diseq(user_propagator::eq_eh_t &diseq_eh) override {
|
||||
m_context.user_propagate_register_diseq(diseq_eh);
|
||||
}
|
||||
|
||||
void user_propagate_register_expr(expr *e) override {
|
||||
m_context.user_propagate_register_expr(e);
|
||||
}
|
||||
|
||||
void user_propagate_register_created(user_propagator::created_eh_t &r) override {
|
||||
m_context.user_propagate_register_created(r);
|
||||
}
|
||||
|
||||
void user_propagate_register_decide(user_propagator::decide_eh_t &r) override {
|
||||
m_context.user_propagate_register_decide(r);
|
||||
}
|
||||
|
||||
void user_propagate_register_on_binding(user_propagator::binding_eh_t &r) override {
|
||||
m_context.user_propagate_register_on_binding(r);
|
||||
}
|
||||
|
||||
void user_propagate_clear() override {
|
||||
}
|
||||
|
||||
void register_on_clause(void *, user_propagator::on_clause_eh_t &r) override {
|
||||
m_context.register_on_clause(nullptr, r);
|
||||
}
|
||||
|
||||
void set_logic(symbol const& logic);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue