diff options
Diffstat (limited to 'newlib/libm/math/sf_isinf.c')
-rw-r--r-- | newlib/libm/math/sf_isinf.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/newlib/libm/math/sf_isinf.c b/newlib/libm/math/sf_isinf.c index 1af4aab2a..43a8abdf2 100644 --- a/newlib/libm/math/sf_isinf.c +++ b/newlib/libm/math/sf_isinf.c @@ -1,6 +1,5 @@ /* - * isinff(x) returns 1 if x is infinity, else 0; - * no branching! + * isinff(x) returns 1 if x is +-infinity, else 0; * Added by Cygnus Support. */ @@ -16,8 +15,7 @@ __int32_t ix; GET_FLOAT_WORD(ix,x); ix &= 0x7fffffff; - ix = 0x7f800000 - ix; - return 1 - (int)((__uint32_t)(ix|(-ix))>>31); + return FLT_UWORD_IS_INFINITE(ix); } #ifdef _DOUBLE_IS_32BITS |