mirror of
https://github.com/Z3Prover/z3
synced 2025-06-07 06:33:23 +00:00
preparing for inf extension of arithmetic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
0b65aa83e8
commit
5106c74b3e
5 changed files with 8 additions and 7 deletions
|
@ -43,7 +43,7 @@ Notes:
|
||||||
#include "optimize_objectives.h"
|
#include "optimize_objectives.h"
|
||||||
#include "opt_solver.h"
|
#include "opt_solver.h"
|
||||||
#include "arith_decl_plugin.h"
|
#include "arith_decl_plugin.h"
|
||||||
#include "smt_context.h"
|
#include "theory_arith.h"
|
||||||
|
|
||||||
namespace opt {
|
namespace opt {
|
||||||
|
|
||||||
|
@ -115,6 +115,7 @@ namespace opt {
|
||||||
}
|
}
|
||||||
|
|
||||||
lbool optimize_objectives::update_upper() {
|
lbool optimize_objectives::update_upper() {
|
||||||
|
NOT_IMPLEMENTED_YET();
|
||||||
return l_undef;
|
return l_undef;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,5 +26,5 @@ namespace smt {
|
||||||
// template class theory_arith<si_ext>;
|
// template class theory_arith<si_ext>;
|
||||||
// template class theory_arith<smi_ext>;
|
// template class theory_arith<smi_ext>;
|
||||||
|
|
||||||
// TBD: template class smt::theory_arith<inf_ext>;
|
template class smt::theory_arith<inf_ext>;
|
||||||
};
|
};
|
||||||
|
|
|
@ -432,7 +432,7 @@ namespace smt {
|
||||||
bool m_eager_gcd; // true if gcd should be applied at every add_row
|
bool m_eager_gcd; // true if gcd should be applied at every add_row
|
||||||
unsigned m_final_check_idx;
|
unsigned m_final_check_idx;
|
||||||
|
|
||||||
inf_rational m_objective_value;
|
inf_eps_rational<inf_rational> m_objective_value;
|
||||||
|
|
||||||
// backtracking
|
// backtracking
|
||||||
svector<bound_trail> m_bound_trail;
|
svector<bound_trail> m_bound_trail;
|
||||||
|
|
|
@ -999,7 +999,7 @@ namespace smt {
|
||||||
|
|
||||||
template<typename Ext>
|
template<typename Ext>
|
||||||
inf_eps_rational<inf_rational> theory_arith<Ext>::get_objective_value(theory_var v) {
|
inf_eps_rational<inf_rational> theory_arith<Ext>::get_objective_value(theory_var v) {
|
||||||
return inf_eps_rational<inf_rational>(m_objective_value);
|
return m_objective_value;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -143,15 +143,15 @@ class inf_eps_rational {
|
||||||
return m_infty;
|
return m_infty;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const inf_eps_rational & zero() {
|
static inf_eps_rational zero() {
|
||||||
return inf_eps_rational(Numeral::zero());
|
return inf_eps_rational(Numeral::zero());
|
||||||
}
|
}
|
||||||
|
|
||||||
static const inf_eps_rational & one() {
|
static inf_eps_rational one() {
|
||||||
return inf_eps_rational(Numeral::one());
|
return inf_eps_rational(Numeral::one());
|
||||||
}
|
}
|
||||||
|
|
||||||
static const inf_eps_rational & minus_one() {
|
static inf_eps_rational minus_one() {
|
||||||
return inf_eps_rational(Numeral::minus_one());
|
return inf_eps_rational(Numeral::minus_one());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue