dblu_dbl
return (ux.dblu_dbl.dbl_exp == DBL_EXP_INFNAN
&& (ux.dblu_dbl.dbl_frach|ux.dblu_dbl.dbl_fracl) != 0)
|| (uy.dblu_dbl.dbl_exp == DBL_EXP_INFNAN
&& (uy.dblu_dbl.dbl_frach|uy.dblu_dbl.dbl_fracl) != 0);
if (u.dblu_dbl.dbl_exp != DBL_EXP_INFNAN) {
if (u.dblu_dbl.dbl_exp == 0) {
*eptr += u.dblu_dbl.dbl_exp - (DBL_EXP_BIAS - 1);
u.dblu_dbl.dbl_exp = DBL_EXP_BIAS - 1;
mul.dblu_dbl.dbl_exp = DBL_FRACBITS + DBL_EXP_BIAS;
oldexp = u.dblu_dbl.dbl_exp;
u.dblu_dbl.dbl_exp = 1;
mul.dblu_dbl.dbl_exp = expon + DBL_EXP_BIAS;
u.dblu_dbl.dbl_exp = newexp;
oldexp = u.dblu_dbl.dbl_exp;
mul.dblu_dbl.dbl_exp = expon + DBL_EXP_BIAS;
u.dblu_dbl.dbl_sign = v.dblu_dbl.dbl_sign;
if (u.dblu_dbl.dbl_exp == DBL_EXP_INFNAN) {
if ((int)u.dblu_dbl.dbl_exp - DBL_EXP_BIAS > DBL_FRACBITS - 1) {
v.dblu_dbl.dbl_sign = u.dblu_dbl.dbl_sign;
if (u.dblu_dbl.dbl_exp < DBL_EXP_BIAS) {
v.dblu_dbl.dbl_sign = u.dblu_dbl.dbl_sign;
frac = ((u_int64_t)v.dblu_dbl.dbl_frach << 32) + v.dblu_dbl.dbl_fracl;
frac >>= DBL_FRACBITS - (u.dblu_dbl.dbl_exp - DBL_EXP_BIAS);
frac <<= DBL_FRACBITS - (u.dblu_dbl.dbl_exp - DBL_EXP_BIAS);
v.dblu_dbl.dbl_fracl = (unsigned int)(frac & 0xffffffffULL);
v.dblu_dbl.dbl_frach = (unsigned int)(frac >> 32);
*sign = u.dblu_dbl.dbl_sign;
*decpt = u.dblu_dbl.dbl_exp - DBL_ADJ;
*decpt = u.dblu_dbl.dbl_exp - (514 + DBL_ADJ);
*s = u.dblu_dbl.dbl_fracl & 0xf;
u.dblu_dbl.dbl_fracl >>= 4;
*s = u.dblu_dbl.dbl_fracm & 0xf;
u.dblu_dbl.dbl_fracm >>= 4;
*s = u.dblu_dbl.dbl_frach & 0xf;
u.dblu_dbl.dbl_frach >>= 4;
*s = u.dblu_dbl.dbl_frach | (1U << ((DBL_MANT_DIG - 1) % 4));
dorounding(s0, ndigits, u.dblu_dbl.dbl_sign, decpt);
u.dblu_dbl.dbl_sign = 0;
[1] = dblu.dblu_dbl.dbl_fracl,
[2] = dblu.dblu_dbl.dbl_frach,
dblu.dblu_dbl.dbl_exp - DBL_EXP_BIAS,
dblu.dblu_dbl.dbl_sign != 0,
if (u.dblu_dbl.dbl_exp == 0) {
if (u.dblu_dbl.dbl_frach == 0 && u.dblu_dbl.dbl_fracl == 0)
} else if (u.dblu_dbl.dbl_exp == DBL_EXP_INFNAN) {
if (u.dblu_dbl.dbl_frach == 0 && u.dblu_dbl.dbl_fracl == 0)
if (u.dblu_dbl.dbl_exp == DBL_EXP_INFNAN)
return (u.dblu_dbl.dbl_exp == DBL_EXP_INFNAN &&
(u.dblu_dbl.dbl_frach == 0 && u.dblu_dbl.dbl_fracl == 0));
return (u.dblu_dbl.dbl_exp == DBL_EXP_INFNAN &&
(u.dblu_dbl.dbl_frach != 0 || u.dblu_dbl.dbl_fracl != 0));
return (u.dblu_dbl.dbl_sign == 1);
u.dblu_dbl.dbl_sign = 0;
u.dblu_dbl.dbl_exp = DBL_EXP_BIAS; /* so we get [1,2) */
u.dblu_dbl.dbl_frach = ((unsigned int)xseed[2] << 4)
u.dblu_dbl.dbl_fracl = (((unsigned int)xseed[1] & 0x0fff) << 20)
if (u[0].dblu_dbl.dbl_exp == DBL_EXP_INFNAN &&
(u[0].dblu_dbl.dbl_frach | u[0].dblu_dbl.dbl_fracl) != 0)
if (u[1].dblu_dbl.dbl_exp == DBL_EXP_INFNAN &&
(u[1].dblu_dbl.dbl_frach | u[1].dblu_dbl.dbl_fracl) != 0)
if (u[0].dblu_dbl.dbl_sign != u[1].dblu_dbl.dbl_sign)
return (u[u[0].dblu_dbl.dbl_sign].dblu_d);
if (u[0].dblu_dbl.dbl_exp == DBL_EXP_INFNAN &&
(u[0].dblu_dbl.dbl_frach | u[0].dblu_dbl.dbl_fracl) != 0)
if (u[1].dblu_dbl.dbl_exp == DBL_EXP_INFNAN &&
(u[1].dblu_dbl.dbl_frach | u[1].dblu_dbl.dbl_fracl) != 0)
if (u[0].dblu_dbl.dbl_sign != u[1].dblu_dbl.dbl_sign)
return (u[u[1].dblu_dbl.dbl_sign].dblu_d);
#define extu_ext dblu_dbl
struct ieee_double dblu_dbl;
#define dblu_sign dblu_dbl.dbl_sign
#define dblu_exp dblu_dbl.dbl_exp
#define dblu_frach dblu_dbl.dbl_frach
#define dblu_fracl dblu_dbl.dbl_fracl