summaryrefslogtreecommitdiff
path: root/libc/sysdeps/ieee754/flt-32/e_jnf.c
diff options
context:
space:
mode:
Diffstat (limited to 'libc/sysdeps/ieee754/flt-32/e_jnf.c')
-rw-r--r--libc/sysdeps/ieee754/flt-32/e_jnf.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/libc/sysdeps/ieee754/flt-32/e_jnf.c b/libc/sysdeps/ieee754/flt-32/e_jnf.c
index bed9cee7a..ad26d7e8a 100644
--- a/libc/sysdeps/ieee754/flt-32/e_jnf.c
+++ b/libc/sysdeps/ieee754/flt-32/e_jnf.c
@@ -13,6 +13,7 @@
* ====================================================
*/
+#include <errno.h>
#include <math.h>
#include <math_private.h>
@@ -199,6 +200,9 @@ __ieee754_ynf(int n, float x)
GET_FLOAT_WORD(ib,b);
a = temp;
}
+ /* If B is +-Inf, set up errno accordingly. */
+ if (! __finitef (b))
+ __set_errno (ERANGE);
if(sign>0) return b; else return -b;
}
strong_alias (__ieee754_ynf, __ynf_finite)