[PATCH] libm/math: ensure that expf(-huge) sets FE_UNDERFLOW exception
Keith Packard via Newlib <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> --- 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