提交 fad231b9 编写于 作者: R Rich Felker

support ld80 pseudo-denormal invalid bit patterns; treat them as nan

this is silly, but it makes apps that read binary junk and interpret
it as ld80 "safer", and it gets gnulib to stop replacing printf...
上级 c21a19d5
......@@ -7,8 +7,11 @@ int __fpclassifyl(long double x)
{
union ldshape u = { x };
int e = u.bits.exp;
if (!e)
return u.bits.m ? FP_SUBNORMAL : FP_ZERO;
if (!e) {
if (u.bits.m >> 63) return FP_NAN;
else if (u.bits.m) return FP_SUBNORMAL;
else return FP_ZERO;
}
if (e == 0x7fff)
return u.bits.m & (uint64_t)-1>>1 ? FP_NAN : FP_INFINITE;
return u.bits.m & (uint64_t)1<<63 ? FP_NORMAL : FP_NAN;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册