mirror of
https://github.com/Z3Prover/z3
synced 2025-06-13 01:16:15 +00:00
Bugfix for unspecified semantics of some fp.* operators.
This commit is contained in:
parent
bd00d98398
commit
724f86d43e
1 changed files with 1 additions and 16 deletions
|
@ -311,8 +311,6 @@ func_interp * bv2fpa_converter::convert_func_interp(model_core * mc, func_decl *
|
||||||
result->set_else(ft_els);
|
result->set_else(ft_els);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
result->set_else(m.get_some_value(f->get_range()));
|
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
@ -467,20 +465,7 @@ void bv2fpa_converter::convert_uf2bvuf(model_core * mc, model_core * target_mode
|
||||||
else {
|
else {
|
||||||
if (it->get_key().get_family_id() == m_fpa_util.get_fid()) {
|
if (it->get_key().get_family_id() == m_fpa_util.get_fid()) {
|
||||||
// it->m_value contains the model for the unspecified cases of it->m_key.
|
// it->m_value contains the model for the unspecified cases of it->m_key.
|
||||||
|
target_model->register_decl(f, convert_func_interp(mc, f, it->m_value));
|
||||||
func_interp * fmv = convert_func_interp(mc, f, it->m_value);
|
|
||||||
SASSERT(fmv);
|
|
||||||
#if 0
|
|
||||||
// Upon request, add this 'recursive' definition?
|
|
||||||
unsigned n = fmv->get_arity();
|
|
||||||
expr_ref_vector args(m);
|
|
||||||
for (unsigned i = 0; i < n; i++)
|
|
||||||
args.push_back(m.mk_var(i, f->get_domain()[i]));
|
|
||||||
fmv->set_else(m.mk_app(it->m_key, n, args.c_ptr()));
|
|
||||||
#else
|
|
||||||
fmv->set_else(0); // Make sure it's not left open.
|
|
||||||
#endif
|
|
||||||
target_model->register_decl(f, fmv);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue