提交 9f58d060 编写于 作者: N nsz

math: fix modfl.c bug

modfl(+-inf) was wrong on ld80 because the explicit msb
was not taken into account during inf vs nan check
上级 cf682072
......@@ -81,7 +81,7 @@ long double modfl(long double x, long double *iptr)
return x - ux.e;
} else if (e >= LDBL_MANT_DIG - 1) { /* x has no fraction part. */
*iptr = x;
if (e == LDBL_MAX_EXP && (ux.bits.manh|ux.bits.manl)) /* nan */
if (e == LDBL_MAX_EXP && ((ux.bits.manh&~LDBL_NBIT)|ux.bits.manl)) /* nan */
return x;
return zero[ux.bits.sign];
} else { /* Fraction part is in manl. */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册