diff options
Diffstat (limited to 'sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c')
-rw-r--r-- | sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c b/sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c new file mode 100644 index 0000000000..c9d44b61dd --- /dev/null +++ b/sysdeps/ieee754/ldbl-128ibm/w_expl_compat.c @@ -0,0 +1,21 @@ +#include <math.h> +#include <math_private.h> +#include <math_ldbl_opt.h> + +long double __expl(long double x) /* wrapper exp */ +{ + long double z; + z = __ieee754_expl(x); + if (_LIB_VERSION == _IEEE_) + return z; + if (isfinite(x)) + { + if (!isfinite (z)) + return __kernel_standard_l(x,x,206); /* exp overflow */ + else if (z == 0.0L) + return __kernel_standard_l(x,x,207); /* exp underflow */ + } + return z; +} +hidden_def (__expl) +long_double_symbol (libm, __expl, expl); |