]> git.ipfire.org Git - thirdparty/glibc.git/blame - math/w_expf_compat.c
powerpc: Do not raise exception traps for fesetexcept/fesetexceptflag (BZ 30988)
[thirdparty/glibc.git] / math / w_expf_compat.c
CommitLineData
6d7e8eda 1/* Copyright (C) 2011-2023 Free Software Foundation, Inc.
bcf01e6d 2 This file is part of the GNU C Library.
bcf01e6d
UD
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
59ba27a6 15 License along with the GNU C Library; if not, see
5a82c748 16 <https://www.gnu.org/licenses/>. */
bcf01e6d
UD
17
18#include <math.h>
19#include <math_private.h>
813378e9 20#include <math-svid-compat.h>
bcf01e6d 21
f5f0f526 22#if LIBM_SVID_COMPAT && SHLIB_COMPAT (libm, GLIBC_2_0, GLIBC_2_27)
bcf01e6d
UD
23/* wrapper expf */
24float
f5f0f526 25__expf_compat (float x)
f7eac6eb 26{
41498f4d 27 float z = __ieee754_expf (x);
d81f90cc
WD
28 if (__builtin_expect (!isfinite (z) || z == 0, 0)
29 && isfinite (x) && _LIB_VERSION != _IEEE_)
30 return __kernel_standard_f (x, x, 106 + !!signbit (x));
bcf01e6d 31
41498f4d 32 return z;
f7eac6eb 33}
f5f0f526 34compat_symbol (libm, __expf_compat, expf, GLIBC_2_0);
4f3647e4 35#endif