return ax.rv.dp;
}
-union ieee754dp ieee754dp_bestnan(union ieee754dp x, union ieee754dp y)
-{
- assert(ieee754dp_isnan(x));
- assert(ieee754dp_isnan(y));
-
- if (DPMANT(x) > DPMANT(y))
- return x;
- else
- return y;
-}
-
-
static u64 get_rounding(int sn, u64 xm)
{
/* inexact must round of 3 bits
extern s64 __cold ieee754di_xcpt(s64, const char *, ...);
extern union ieee754dp __cold ieee754dp_xcpt(union ieee754dp, const char *, ...);
extern union ieee754dp __cold ieee754dp_nanxcpt(union ieee754dp, const char *, ...);
-extern union ieee754dp ieee754dp_bestnan(union ieee754dp, union ieee754dp);
extern union ieee754dp ieee754dp_format(int, int, u64);
return ax.rv.sp;
}
-union ieee754sp ieee754sp_bestnan(union ieee754sp x, union ieee754sp y)
-{
- assert(ieee754sp_isnan(x));
- assert(ieee754sp_isnan(y));
-
- if (SPMANT(x) > SPMANT(y))
- return x;
- else
- return y;
-}
-
-
static unsigned get_rounding(int sn, unsigned xm)
{
/* inexact must round of 3 bits
extern s64 __cold ieee754di_xcpt(s64, const char *, ...);
extern union ieee754sp __cold ieee754sp_xcpt(union ieee754sp, const char *, ...);
extern union ieee754sp __cold ieee754sp_nanxcpt(union ieee754sp, const char *, ...);
-extern union ieee754sp ieee754sp_bestnan(union ieee754sp, union ieee754sp);
extern union ieee754sp ieee754sp_format(int, int, unsigned);