Fix expf overflow limit

Correct the overflow limit in the variable o_threshold to be consistent
with the FLT_UWORD_LOG_MAX variable used by the internal implementation
of the expf algorithm itself.
The u_threshold variable has also been modified to be written in the
same format.

Note that this fix improves the situation but does not completely
correct the inconsistencies regarding the overflow and underflow limits
between the expf wrapper (wf_exp.c) and the expf algorithm itself
(ef_exp.c).

Currently these limits are different for the
_FLT_LARGEST_EXPONENT_IS_NORMAL and _FLT_NO_DENORMALS cases as well as
for the case where __OBSOLETE_MATH is not defined (only for the
underflow limit in this case).
This commit is contained in:
Andoni Arregi 2022-02-09 14:52:07 +01:00 committed by Corinna Vinschen
parent 1aec525a44
commit 8f2bd6f046
1 changed files with 2 additions and 2 deletions

View File

@ -26,8 +26,8 @@ static const float
#else
static float
#endif
o_threshold= 8.8721679688e+01, /* 0x42b17180 */
u_threshold= -1.0397208405e+02; /* 0xc2cff1b5 */
o_threshold= 0x1.62e42ep+06, /* 0x42b17217 */
u_threshold= -0x1.9fe36ap+06; /* 0xc2cff1b5 */
#ifdef __STDC__
float expf(float x) /* wrapper expf */