mirror of
https://github.com/Z3Prover/z3
synced 2025-05-16 20:24:45 +00:00
address divergence in the case of shared theory symbols. Codeplex issue 147, thanks to George Karpenkov
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
commit
08cb8b8de8
74 changed files with 1280 additions and 896 deletions
|
@ -222,7 +222,6 @@ namespace opt {
|
|||
for (unsigned i = 0; i < m_lower.size() && !m_cancel; ++i) {
|
||||
if (m_lower[i] < m_upper[i]) {
|
||||
mid.push_back((m_upper[i]+m_lower[i])/rational(2));
|
||||
//mid.push_back(m_upper[i]);
|
||||
bound = m_s->mk_ge(i, mid[i]);
|
||||
bounds.push_back(bound);
|
||||
}
|
||||
|
@ -373,6 +372,10 @@ namespace opt {
|
|||
return m_lower[i];
|
||||
}
|
||||
|
||||
bool optsmt::objective_is_model_valid(unsigned index) const {
|
||||
return m_s->objective_is_model_valid(index);
|
||||
}
|
||||
|
||||
inf_eps optsmt::get_upper(unsigned i) const {
|
||||
if (i >= m_upper.size()) return inf_eps();
|
||||
return m_upper[i];
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue