3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-14 21:08:46 +00:00

fixing bug with optimization

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2013-10-24 12:03:05 +08:00
parent 11010086be
commit 7c8fbbb06a
2 changed files with 8 additions and 1 deletions

View file

@ -993,7 +993,7 @@ namespace smt {
// Optimization
//
// -----------------------------------
virtual bool maximize(theory_var v) { return max_min(v, true); }
virtual bool maximize(theory_var v);
virtual theory_var add_objective(app* term);
virtual inf_eps_rational<inf_rational> get_objective_value(theory_var v);
inf_rational m_objective;

View file

@ -975,6 +975,13 @@ namespace smt {
return internalize_term_core(term);
}
template<typename Ext>
bool theory_arith<Ext>::maximize(theory_var v) {
bool r = max_min(v, true);
return r || at_upper(v);
}
template<typename Ext>
inf_eps_rational<inf_rational> theory_arith<Ext>::get_objective_value(theory_var v) {
inf_eps_rational<inf_rational> val(m_objective);