summaryrefslogtreecommitdiffstats
path: root/newlib/libm/common/sf_finite.c
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libm/common/sf_finite.c')
-rw-r--r--newlib/libm/common/sf_finite.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/newlib/libm/common/sf_finite.c b/newlib/libm/common/sf_finite.c
index 4c48f400f..cb7026fbd 100644
--- a/newlib/libm/common/sf_finite.c
+++ b/newlib/libm/common/sf_finite.c
@@ -29,7 +29,8 @@
{
__int32_t ix;
GET_FLOAT_WORD(ix,x);
- return (int)((__uint32_t)((ix&0x7fffffff)-0x7f800000)>>31);
+ ix &= 0x7fffffff;
+ return (FLT_UWORD_IS_FINITE(ix));
}
#ifdef _DOUBLE_IS_32BITS