mirror of
https://github.com/Z3Prover/z3
synced 2025-04-24 01:25:31 +00:00
FPA API: reintroduced to_ieee_bv
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
This commit is contained in:
parent
72dbb2a513
commit
d6ac98a494
6 changed files with 74 additions and 5 deletions
|
@ -135,7 +135,13 @@ namespace smt {
|
|||
simp(a->get_arg(2), exp, pr_exp);
|
||||
|
||||
m_converter.mk_triple(sgn, sig, exp, bv_term);
|
||||
}
|
||||
}
|
||||
else if (term->get_decl_kind() == OP_FLOAT_TO_IEEE_BV) {
|
||||
SASSERT(is_app(t));
|
||||
expr_ref bv_e(m);
|
||||
proof_ref bv_pr(m);
|
||||
simp(t, bv_term, bv_pr);
|
||||
}
|
||||
else
|
||||
NOT_IMPLEMENTED_YET();
|
||||
|
||||
|
@ -414,6 +420,17 @@ namespace smt {
|
|||
ctx.mark_as_relevant(bv_sig);
|
||||
ctx.mark_as_relevant(bv_exp);
|
||||
}
|
||||
else if (n->get_decl()->get_decl_kind() == OP_FLOAT_TO_IEEE_BV) {
|
||||
expr_ref eq(m);
|
||||
app * ex_a = to_app(ex);
|
||||
if (n->get_id() > ex_a->get_id())
|
||||
std::swap(n, ex_a);
|
||||
eq = m.mk_eq(n, ex_a);
|
||||
ctx.internalize(eq, false);
|
||||
literal l = ctx.get_literal(eq);
|
||||
ctx.mk_th_axiom(get_id(), 1, &l);
|
||||
ctx.mark_as_relevant(l);
|
||||
}
|
||||
else
|
||||
NOT_IMPLEMENTED_YET();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue