mirror of
https://github.com/Z3Prover/z3
synced 2025-04-22 16:45:31 +00:00
fpa2bv_approx: added fp.abs, fixed rounding mode model extraction
This commit is contained in:
parent
65a6845945
commit
610c549104
1 changed files with 10 additions and 1 deletions
|
@ -272,8 +272,12 @@ class fpa2bv_approx_tactic: public tactic {
|
|||
expr_ref arg_e[] = { expr_ref(m), expr_ref(m), expr_ref(m), expr_ref(m) };
|
||||
unsigned i=0;
|
||||
//Set rounding mode
|
||||
if (rhs->get_num_args() > 0 && m_float_util.is_rm(rhs->get_arg(0)))
|
||||
if (rhs->get_num_args() > 0 && m_float_util.is_rm(rhs->get_arg(0))) {
|
||||
expr_ref rm_val(m);
|
||||
mdl->eval(rhs->get_arg(0), rm_val, true);
|
||||
m_float_util.is_rm_numeral(rm_val, rm);
|
||||
i = 1;
|
||||
}
|
||||
//Collect argument values
|
||||
for (; i < rhs->get_num_args(); i++) {
|
||||
expr * arg = rhs->get_arg(i);
|
||||
|
@ -372,6 +376,11 @@ class fpa2bv_approx_tactic: public tactic {
|
|||
mpf_mngr.set(est_rhs_value, ebits, sbits, rm, est_arg_val[1]);
|
||||
break;
|
||||
}
|
||||
case OP_FPA_ABS:
|
||||
{
|
||||
mpf_mngr.abs(arg_val[0], rhs_value);
|
||||
break;
|
||||
}
|
||||
default:
|
||||
NOT_IMPLEMENTED_YET();
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue