[PATCH] libm/math: ensure that expf(-huge) sets FE_UNDERFLOW exception
Keith Packard
keithp@keithp.com
Sat Aug 8 05:40:21 GMT 2020
It was calling __math_uflow(0) instead of __math_uflowf(0), which
resulted in no exception being set on machines with exception support
for float but not double.
Signed-off-by: Keith Packard <keithp@keithp.com>
---
newlib/libm/math/ef_exp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/newlib/libm/math/ef_exp.c b/newlib/libm/math/ef_exp.c
index 0cd0c00b3..d6e25bfcd 100644
--- a/newlib/libm/math/ef_exp.c
+++ b/newlib/libm/math/ef_exp.c
@@ -64,7 +64,7 @@ P5 = 4.1381369442e-08; /* 0x3331bb4c */
if(sx > FLT_UWORD_LOG_MAX)
return __math_oflowf(0); /* overflow */
if(sx < 0 && hx > FLT_UWORD_LOG_MIN)
- return __math_uflow(0); /* underflow */
+ return __math_uflowf(0); /* underflow */
/* argument reduction */
if(hx > 0x3eb17218) { /* if |x| > 0.5 ln2 */
--
2.28.0
More information about the Newlib
mailing list