mirror of
https://github.com/Z3Prover/z3
synced 2025-07-18 02:16:40 +00:00
Refactored treatment of unspecified FPA functions.
This commit is contained in:
parent
5d341814d8
commit
a479fa610a
5 changed files with 95 additions and 80 deletions
|
@ -2582,7 +2582,7 @@ void fpa2bv_converter::mk_to_fp_real(func_decl * f, sort * s, expr * rm, expr *
|
|||
unsigned ebits = m_util.get_ebits(s);
|
||||
unsigned sbits = m_util.get_sbits(s);
|
||||
|
||||
if (m_bv_util.is_numeral(bv_rm) && m_util.au().is_numeral(x)) {
|
||||
if (m_bv_util.is_numeral(bv_rm) && m_util.arith_util().is_numeral(x)) {
|
||||
rational tmp_rat; unsigned sz;
|
||||
m_bv_util.is_numeral(to_expr(bv_rm), tmp_rat, sz);
|
||||
SASSERT(tmp_rat.is_int32());
|
||||
|
@ -2600,7 +2600,7 @@ void fpa2bv_converter::mk_to_fp_real(func_decl * f, sort * s, expr * rm, expr *
|
|||
|
||||
rational q;
|
||||
bool is_int;
|
||||
m_util.au().is_numeral(x, q, is_int);
|
||||
m_util.arith_util().is_numeral(x, q, is_int);
|
||||
|
||||
if (q.is_zero())
|
||||
return mk_pzero(f, result);
|
||||
|
@ -2617,12 +2617,12 @@ void fpa2bv_converter::mk_to_fp_real(func_decl * f, sort * s, expr * rm, expr *
|
|||
result = m_util.mk_fp(sgn, exp, sig);
|
||||
}
|
||||
}
|
||||
else if (m_util.au().is_numeral(x)) {
|
||||
else if (m_util.arith_util().is_numeral(x)) {
|
||||
rational q;
|
||||
bool is_int;
|
||||
m_util.au().is_numeral(x, q, is_int);
|
||||
m_util.arith_util().is_numeral(x, q, is_int);
|
||||
|
||||
if (m_util.au().is_zero(x))
|
||||
if (m_util.arith_util().is_zero(x))
|
||||
mk_pzero(f, result);
|
||||
else {
|
||||
expr_ref rm_nta(m), rm_nte(m), rm_tp(m), rm_tn(m), rm_tz(m);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue