mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 01:33:36 +08:00
Implement C23 exp2m1, exp10m1
C23 adds various <math.h> function families originally defined in TS 18661-4. Add the exp2m1 and exp10m1 functions (exp2(x)-1 and exp10(x)-1, like expm1). As with other such functions, these use type-generic templates that could be replaced with faster and more accurate type-specific implementations in future. Test inputs are copied from those for expm1, plus some additions close to the overflow threshold (copied from exp2 and exp10) and also some near the underflow threshold. exp2m1 has the unusual property of having an input (M_MAX_EXP) where whether the function overflows (under IEEE semantics) depends on the rounding mode. Although these could reasonably be XFAILed in the testsuite (as we do in some cases for arguments very close to a function's overflow threshold when an error of a few ulps in the implementation can result in the implementation not agreeing with an ideal one on whether overflow takes place - the testsuite isn't smart enough to handle this automatically), since these functions aren't required to be correctly rounding, I made the implementation check for and handle this case specially. The Makefile ordering expected by lint-makefiles for the new functions is a bit peculiar, but I implemented it in this patch so that the test passes; I don't know why log2 also needed moving in one Makefile variable setting when it didn't in my previous patches, but the failure showed a different place was expected for that function as well. The powerpc64le IFUNC setup seems not to be as self-contained as one might hope; it shouldn't be necessary to add IFUNCs for new functions such as these simply to get them building, but without setting up IFUNCs for the new functions, there were undefined references to __GI___expm1f128 (that IFUNC machinery results in no such function being defined, but doesn't stop include/math.h from doing the redirection resulting in the exp2m1f128 and exp10m1f128 implementations expecting to call it). Tested for x86_64 and x86, and with build-many-glibcs.py.
This commit is contained in:
parent
55eb99e9a9
commit
7ec903e028
2
NEWS
2
NEWS
@ -26,6 +26,8 @@ Major new features:
|
||||
functions for float, double, long double, _FloatN and _FloatNx, and a
|
||||
type-generic macro in <tgmath.h>.
|
||||
|
||||
- Exponential functions: exp2m1, exp10m1.
|
||||
|
||||
- Logarithmic functions: log2p1, log10p1, logp1.
|
||||
|
||||
* A new tunable, glibc.rtld.enable_secure, used to run a program
|
||||
|
@ -740,6 +740,36 @@ near zero---a case where @code{exp (@var{x}) - 1} would be inaccurate owing
|
||||
to subtraction of two numbers that are nearly equal.
|
||||
@end deftypefun
|
||||
|
||||
@deftypefun double exp2m1 (double @var{x})
|
||||
@deftypefunx float exp2m1f (float @var{x})
|
||||
@deftypefunx {long double} exp2m1l (long double @var{x})
|
||||
@deftypefunx _FloatN exp2m1fN (_Float@var{N} @var{x})
|
||||
@deftypefunx _FloatNx exp2m1fNx (_Float@var{N}x @var{x})
|
||||
@standards{TS 18661-4:2015, math.h}
|
||||
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
|
||||
These functions return a value equivalent to @code{exp2 (@var{x}) - 1}.
|
||||
They are computed in a way that is accurate even if @var{x} is
|
||||
near zero---a case where @code{exp2 (@var{x}) - 1} would be inaccurate owing
|
||||
to subtraction of two numbers that are nearly equal.
|
||||
|
||||
The @code{exp2m1} functions are from TS 18661-4:2015.
|
||||
@end deftypefun
|
||||
|
||||
@deftypefun double exp10m1 (double @var{x})
|
||||
@deftypefunx float exp10m1f (float @var{x})
|
||||
@deftypefunx {long double} exp10m1l (long double @var{x})
|
||||
@deftypefunx _FloatN exp10m1fN (_Float@var{N} @var{x})
|
||||
@deftypefunx _FloatNx exp10m1fNx (_Float@var{N}x @var{x})
|
||||
@standards{TS 18661-4:2015, math.h}
|
||||
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
|
||||
These functions return a value equivalent to @code{exp10 (@var{x}) - 1}.
|
||||
They are computed in a way that is accurate even if @var{x} is
|
||||
near zero---a case where @code{exp10 (@var{x}) - 1} would be inaccurate owing
|
||||
to subtraction of two numbers that are nearly equal.
|
||||
|
||||
The @code{exp10m1} functions are from TS 18661-4:2015.
|
||||
@end deftypefun
|
||||
|
||||
@deftypefun double log1p (double @var{x})
|
||||
@deftypefunx float log1pf (float @var{x})
|
||||
@deftypefunx {long double} log1pl (long double @var{x})
|
||||
|
@ -113,6 +113,8 @@ gen-libm-calls = \
|
||||
s_csqrtF \
|
||||
s_ctanF \
|
||||
s_ctanhF \
|
||||
s_exp10m1F \
|
||||
s_exp2m1F \
|
||||
s_fdimF \
|
||||
s_fmaxF \
|
||||
s_fmaximumF \
|
||||
@ -643,6 +645,8 @@ libm-test-funcs-auto = \
|
||||
exp \
|
||||
exp2 \
|
||||
exp10 \
|
||||
exp10m1 \
|
||||
exp2m1 \
|
||||
expm1 \
|
||||
fma \
|
||||
hypot \
|
||||
@ -651,10 +655,10 @@ libm-test-funcs-auto = \
|
||||
jn \
|
||||
lgamma \
|
||||
log \
|
||||
log2 \
|
||||
log10 \
|
||||
log10p1 \
|
||||
log1p \
|
||||
log2 \
|
||||
log2p1 \
|
||||
pow \
|
||||
sin \
|
||||
@ -932,8 +936,10 @@ tgmath3-macros = \
|
||||
erf \
|
||||
erfc \
|
||||
exp \
|
||||
exp10m1 \
|
||||
exp2 \
|
||||
exp10 \
|
||||
exp2m1 \
|
||||
expm1 \
|
||||
fabs \
|
||||
fdim \
|
||||
@ -1328,7 +1334,9 @@ CFLAGS-s_erf.c += -fno-builtin-erfl
|
||||
CFLAGS-s_erfc.c += -fno-builtin-erfcl
|
||||
CFLAGS-e_exp.c += -fno-builtin-expl
|
||||
CFLAGS-w_exp10.c += -fno-builtin-exp10l
|
||||
CFLAGS-s_exp10m1.c += -fno-builtin-exp10m1l
|
||||
CFLAGS-e_exp2.c += -fno-builtin-exp2l
|
||||
CFLAGS-s_exp2m1.c += -fno-builtin-exp2m1l
|
||||
CFLAGS-s_expm1.c += -fno-builtin-expm1l
|
||||
CFLAGS-s_f32xaddf64.c += -fno-builtin-daddl
|
||||
CFLAGS-s_f32xdivf64.c += -fno-builtin-ddivl
|
||||
@ -1464,7 +1472,9 @@ CFLAGS-s_erf.c += -fno-builtin-erff32x -fno-builtin-erff64
|
||||
CFLAGS-s_erfc.c += -fno-builtin-erfcf32x -fno-builtin-erfcf64
|
||||
CFLAGS-e_exp.c += -fno-builtin-expf32x -fno-builtin-expf64
|
||||
CFLAGS-w_exp10.c += -fno-builtin-exp10f32x -fno-builtin-exp10f64
|
||||
CFLAGS-s_exp10m1.c += -fno-builtin-exp10m1f32x -fno-builtin-exp10m1f64
|
||||
CFLAGS-e_exp2.c += -fno-builtin-exp2f32x -fno-builtin-exp2f64
|
||||
CFLAGS-s_exp2m1.c += -fno-builtin-exp2m1f32x -fno-builtin-exp2m1f64
|
||||
CFLAGS-s_expm1.c += -fno-builtin-expm1f32x -fno-builtin-expm1f64
|
||||
CFLAGS-s_fabs.c += -fno-builtin-fabsf32x -fno-builtin-fabsf64
|
||||
CFLAGS-s_fadd.c += -fno-builtin-f32addf32x -fno-builtin-f32addf64
|
||||
@ -1586,7 +1596,9 @@ CFLAGS-s_erff.c += -fno-builtin-erff32
|
||||
CFLAGS-s_erfcf.c += -fno-builtin-erfcf32
|
||||
CFLAGS-e_expf.c += -fno-builtin-expf32
|
||||
CFLAGS-w_exp10f.c += -fno-builtin-exp10f32
|
||||
CFLAGS-s_exp10m1f.c += -fno-builtin-exp10m1f32
|
||||
CFLAGS-e_exp2f.c += -fno-builtin-exp2f32
|
||||
CFLAGS-s_exp2m1f.c += -fno-builtin-exp2m1f32
|
||||
CFLAGS-s_expm1f.c += -fno-builtin-expm1f32
|
||||
CFLAGS-s_fabsf.c += -fno-builtin-fabsf32
|
||||
CFLAGS-s_fdimf.c += -fno-builtin-fdimf32
|
||||
|
@ -641,10 +641,14 @@ libm {
|
||||
}
|
||||
GLIBC_2.40 {
|
||||
# Functions not involving _Float64x or _Float128, for all configurations.
|
||||
exp2m1; exp2m1f; exp2m1l; exp2m1f32; exp2m1f64; exp2m1f32x;
|
||||
exp10m1; exp10m1f; exp10m1l; exp10m1f32; exp10m1f64; exp10m1f32x;
|
||||
log2p1; log2p1f; log2p1l; log2p1f32; log2p1f64; log2p1f32x;
|
||||
log10p1; log10p1f; log10p1l; log10p1f32; log10p1f64; log10p1f32x;
|
||||
logp1; logp1f; logp1l; logp1f32; logp1f64; logp1f32x;
|
||||
# Functions involving _Float64x or _Float128, for some configurations.
|
||||
exp2m1f64x; exp2m1f128;
|
||||
exp10m1f64x; exp10m1f128;
|
||||
log2p1f64x; log2p1f128;
|
||||
log10p1f64x; log10p1f128;
|
||||
logp1f64x; logp1f128;
|
||||
|
@ -5249,6 +5249,106 @@ exp10 0xe.8b349p+4
|
||||
exp10 0x3.495c78p+0
|
||||
exp10 0xf.f33f6p+0
|
||||
|
||||
exp10m1 0
|
||||
exp10m1 -0
|
||||
exp10m1 1
|
||||
exp10m1 0.75
|
||||
exp10m1 2
|
||||
exp10m1 3
|
||||
exp10m1 4
|
||||
exp10m1 5
|
||||
exp10m1 10
|
||||
exp10m1 15
|
||||
exp10m1 20
|
||||
exp10m1 25
|
||||
exp10m1 30
|
||||
exp10m1 35
|
||||
exp10m1 40
|
||||
exp10m1 50.0
|
||||
exp10m1 60
|
||||
exp10m1 70
|
||||
exp10m1 80
|
||||
exp10m1 90
|
||||
exp10m1 100
|
||||
exp10m1 127.0
|
||||
exp10m1 500.0
|
||||
exp10m1 11356.25
|
||||
exp10m1 -10.0
|
||||
exp10m1 -16.0
|
||||
exp10m1 -17.0
|
||||
exp10m1 -18.0
|
||||
exp10m1 -36.0
|
||||
exp10m1 -37.0
|
||||
exp10m1 -38.0
|
||||
exp10m1 -44.0
|
||||
exp10m1 -45.0
|
||||
exp10m1 -46.0
|
||||
exp10m1 -73.0
|
||||
exp10m1 -74.0
|
||||
exp10m1 -75.0
|
||||
exp10m1 -78.0
|
||||
exp10m1 -79.0
|
||||
exp10m1 -80.0
|
||||
exp10m1 -100.0
|
||||
exp10m1 -1000.0
|
||||
exp10m1 -10000.0
|
||||
exp10m1 -100000.0
|
||||
exp10m1 100000.0
|
||||
exp10m1 max
|
||||
exp10m1 -max
|
||||
exp10m1 0x1p-2
|
||||
exp10m1 -0x1p-2
|
||||
exp10m1 0x1p-10
|
||||
exp10m1 -0x1p-10
|
||||
exp10m1 0x1p-20
|
||||
exp10m1 -0x1p-20
|
||||
exp10m1 0x1p-29
|
||||
exp10m1 -0x1p-29
|
||||
exp10m1 0x1p-32
|
||||
exp10m1 -0x1p-32
|
||||
exp10m1 0x1p-50
|
||||
exp10m1 -0x1p-50
|
||||
exp10m1 0x1p-64
|
||||
exp10m1 -0x1p-64
|
||||
exp10m1 0x1p-100
|
||||
exp10m1 -0x1p-100
|
||||
exp10m1 0x1p-600
|
||||
exp10m1 -0x1p-600
|
||||
exp10m1 0x1p-10000
|
||||
exp10m1 -0x1p-10000
|
||||
exp10m1 0xe.4152ac57cd1ea7ap-60
|
||||
exp10m1 0x6.660247486aed8p-4
|
||||
exp10m1 0x6.289a78p-4
|
||||
exp10m1 0x6.1b4d318238d4a2a8p-4
|
||||
exp10m1 0x5.fb8dc64e91a74p-4
|
||||
exp10m1 0x3.735f497c4e67535cp-4
|
||||
exp10m1 -0x7.d6c50b469d404p+0
|
||||
exp10m1 0x4.857de8p+4
|
||||
exp10m1 0x5.dfeb68p-4
|
||||
exp10m1 0x4.0000000000000028p-16384
|
||||
exp10m1 0x5.8b911eb6733469c8p-4
|
||||
exp10m1 0x5.a343df0d680099a7a1a873a751a8p-4
|
||||
exp10m1 min
|
||||
exp10m1 -min
|
||||
exp10m1 min_subnorm
|
||||
exp10m1 -min_subnorm
|
||||
exp10m1 0x2.688268p+4
|
||||
exp10m1 0x2.68826cp+4
|
||||
exp10m1 0x1.34413509f79fep+8
|
||||
exp10m1 0x1.34413509f79ffp+8
|
||||
exp10m1 0x1.34413509f79fef2f625b0205a88p+8 xfail:ibm128-libgcc
|
||||
exp10m1 0x1.34413509f79fef2f625b0205a9p+8 xfail:ibm128-libgcc
|
||||
exp10m1 0x1.34413509f79fef3p+12
|
||||
exp10m1 0x1.34413509f79fef32p+12
|
||||
exp10m1 0x1.34413509f79fef311f12b35816f9p+12
|
||||
exp10m1 0x1.34413509f79fef311f12b35816fap+12
|
||||
exp10m1 0x1p-128
|
||||
exp10m1 0x1p-1024
|
||||
exp10m1 0x1p-16384
|
||||
exp10m1 -0x1p-128
|
||||
exp10m1 -0x1p-1024
|
||||
exp10m1 -0x1p-16384
|
||||
|
||||
exp2 0
|
||||
exp2 -0
|
||||
exp2 10
|
||||
@ -5353,6 +5453,107 @@ exp2 -0xc.1bf12p-16
|
||||
exp2 -0x4.8ce878p-4
|
||||
exp2 0xf.93d18bf7be8d272p-4
|
||||
|
||||
exp2m1 0
|
||||
exp2m1 -0
|
||||
exp2m1 1
|
||||
exp2m1 0.75
|
||||
exp2m1 2
|
||||
exp2m1 3
|
||||
exp2m1 4
|
||||
exp2m1 5
|
||||
exp2m1 10
|
||||
exp2m1 15
|
||||
exp2m1 20
|
||||
exp2m1 25
|
||||
exp2m1 30
|
||||
exp2m1 35
|
||||
exp2m1 40
|
||||
exp2m1 50.0
|
||||
exp2m1 60
|
||||
exp2m1 70
|
||||
exp2m1 80
|
||||
exp2m1 90
|
||||
exp2m1 100
|
||||
exp2m1 127.0
|
||||
exp2m1 500.0
|
||||
exp2m1 11356.25
|
||||
exp2m1 -10.0
|
||||
exp2m1 -16.0
|
||||
exp2m1 -17.0
|
||||
exp2m1 -18.0
|
||||
exp2m1 -36.0
|
||||
exp2m1 -37.0
|
||||
exp2m1 -38.0
|
||||
exp2m1 -44.0
|
||||
exp2m1 -45.0
|
||||
exp2m1 -46.0
|
||||
exp2m1 -73.0
|
||||
exp2m1 -74.0
|
||||
exp2m1 -75.0
|
||||
exp2m1 -78.0
|
||||
exp2m1 -79.0
|
||||
exp2m1 -80.0
|
||||
exp2m1 -100.0
|
||||
exp2m1 -1000.0
|
||||
exp2m1 -10000.0
|
||||
exp2m1 -100000.0
|
||||
exp2m1 100000.0
|
||||
exp2m1 max
|
||||
exp2m1 -max
|
||||
exp2m1 0x1p-2
|
||||
exp2m1 -0x1p-2
|
||||
exp2m1 0x1p-10
|
||||
exp2m1 -0x1p-10
|
||||
exp2m1 0x1p-20
|
||||
exp2m1 -0x1p-20
|
||||
exp2m1 0x1p-29
|
||||
exp2m1 -0x1p-29
|
||||
exp2m1 0x1p-32
|
||||
exp2m1 -0x1p-32
|
||||
exp2m1 0x1p-50
|
||||
exp2m1 -0x1p-50
|
||||
exp2m1 0x1p-64
|
||||
exp2m1 -0x1p-64
|
||||
exp2m1 0x1p-100
|
||||
exp2m1 -0x1p-100
|
||||
exp2m1 0x1p-600
|
||||
exp2m1 -0x1p-600
|
||||
exp2m1 0x1p-10000
|
||||
exp2m1 -0x1p-10000
|
||||
exp2m1 0xe.4152ac57cd1ea7ap-60
|
||||
exp2m1 0x6.660247486aed8p-4
|
||||
exp2m1 0x6.289a78p-4
|
||||
exp2m1 0x6.1b4d318238d4a2a8p-4
|
||||
exp2m1 0x5.fb8dc64e91a74p-4
|
||||
exp2m1 0x3.735f497c4e67535cp-4
|
||||
exp2m1 -0x7.d6c50b469d404p+0
|
||||
exp2m1 0x4.857de8p+4
|
||||
exp2m1 0x5.dfeb68p-4
|
||||
exp2m1 0x4.0000000000000028p-16384
|
||||
exp2m1 0x5.8b911eb6733469c8p-4
|
||||
exp2m1 0x5.a343df0d680099a7a1a873a751a8p-4
|
||||
exp2m1 min
|
||||
exp2m1 -min
|
||||
exp2m1 min_subnorm
|
||||
exp2m1 -min_subnorm
|
||||
exp2m1 128
|
||||
exp2m1 0x7.fffff8p+4
|
||||
exp2m1 0x8.00001p+4
|
||||
exp2m1 0x3.ffffffffffffep+8
|
||||
exp2m1 0x4.0000000000004p+8
|
||||
exp2m1 0x3.fffffffffffffffa3aae26b51fp+8 xfail-rounding:ibm128-libgcc
|
||||
exp2m1 0x3.fffffffffffffffa3aae26b52p+8 xfail-rounding:ibm128-libgcc
|
||||
exp2m1 0x3.fffffffffffffffcp+12
|
||||
exp2m1 0x4.0000000000000008p+12
|
||||
exp2m1 0x3.fffffffffffffffffffffffffffep+12
|
||||
exp2m1 0x4.0000000000000000000000000004p+12
|
||||
exp2m1 0x1p-125
|
||||
exp2m1 0x1p-1021
|
||||
exp2m1 0x1p-16381
|
||||
exp2m1 -0x1p-125
|
||||
exp2m1 -0x1p-1021
|
||||
exp2m1 -0x1p-16381
|
||||
|
||||
expm1 0
|
||||
expm1 -0 no-mathvec
|
||||
expm1 1
|
||||
|
4491
math/auto-libm-test-out-exp10m1
Normal file
4491
math/auto-libm-test-out-exp10m1
Normal file
File diff suppressed because it is too large
Load Diff
4348
math/auto-libm-test-out-exp2m1
Normal file
4348
math/auto-libm-test-out-exp2m1
Normal file
File diff suppressed because it is too large
Load Diff
@ -113,6 +113,12 @@ __MATHCALL (modf,, (_Mdouble_ __x, _Mdouble_ *__iptr)) __nonnull ((2));
|
||||
/* Compute exponent to base ten. */
|
||||
__MATHCALL_VEC (exp10,, (_Mdouble_ __x));
|
||||
|
||||
/* Return exp2(X) - 1. */
|
||||
__MATHCALL (exp2m1,, (_Mdouble_ __x));
|
||||
|
||||
/* Return exp10(X) - 1. */
|
||||
__MATHCALL (exp10m1,, (_Mdouble_ __x));
|
||||
|
||||
/* Return log2(1 + X). */
|
||||
__MATHCALL (log2p1,, (_Mdouble_ __x));
|
||||
|
||||
|
@ -566,7 +566,9 @@ static test_function test_functions[] =
|
||||
FUNC_mpfr_f_f ("erfc", mpfr_erfc, false),
|
||||
FUNC_mpfr_f_f ("exp", mpfr_exp, false),
|
||||
FUNC_mpfr_f_f ("exp10", mpfr_exp10, false),
|
||||
FUNC_mpfr_f_f ("exp10m1", mpfr_exp10m1, false),
|
||||
FUNC_mpfr_f_f ("exp2", mpfr_exp2, false),
|
||||
FUNC_mpfr_f_f ("exp2m1", mpfr_exp2m1, false),
|
||||
FUNC_mpfr_f_f ("expm1", mpfr_expm1, false),
|
||||
FUNC ("fma", ARGS3 (type_fp, type_fp, type_fp), RET1 (type_fp),
|
||||
true, false, true, CALC (mpfr_fff_f, mpfr_fma)),
|
||||
|
@ -743,6 +743,8 @@ class Tests(object):
|
||||
self.add_tests(prefix + fn, ret, ['r'] * args)
|
||||
# TS 18661-4 functions.
|
||||
self.add_tests('exp10', 'r', ['r'])
|
||||
self.add_tests('exp2m1', 'r', ['r'])
|
||||
self.add_tests('exp10m1', 'r', ['r'])
|
||||
self.add_tests('log2p1', 'r', ['r'])
|
||||
self.add_tests('log10p1', 'r', ['r'])
|
||||
self.add_tests('logp1', 'r', ['r'])
|
||||
|
49
math/libm-test-exp10m1.inc
Normal file
49
math/libm-test-exp10m1.inc
Normal file
@ -0,0 +1,49 @@
|
||||
/* Test exp10m1.
|
||||
Copyright (C) 2024 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include "libm-test-driver.c"
|
||||
|
||||
static const struct test_f_f_data exp10m1_test_data[] =
|
||||
{
|
||||
TEST_f_f (exp10m1, plus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||
TEST_f_f (exp10m1, minus_infty, -1, ERRNO_UNCHANGED),
|
||||
TEST_f_f (exp10m1, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_f_f (exp10m1, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_f_f (exp10m1, snan_value, qnan_value, INVALID_EXCEPTION),
|
||||
TEST_f_f (exp10m1, -snan_value, qnan_value, INVALID_EXCEPTION),
|
||||
|
||||
AUTO_TESTS_f_f (exp10m1),
|
||||
};
|
||||
|
||||
static void
|
||||
exp10m1_test (void)
|
||||
{
|
||||
ALL_RM_TEST (exp10m1, 0, exp10m1_test_data, RUN_TEST_LOOP_f_f, END);
|
||||
}
|
||||
|
||||
static void
|
||||
do_test (void)
|
||||
{
|
||||
exp10m1_test ();
|
||||
}
|
||||
|
||||
/*
|
||||
* Local Variables:
|
||||
* mode:c
|
||||
* End:
|
||||
*/
|
49
math/libm-test-exp2m1.inc
Normal file
49
math/libm-test-exp2m1.inc
Normal file
@ -0,0 +1,49 @@
|
||||
/* Test exp2m1.
|
||||
Copyright (C) 2024 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include "libm-test-driver.c"
|
||||
|
||||
static const struct test_f_f_data exp2m1_test_data[] =
|
||||
{
|
||||
TEST_f_f (exp2m1, plus_infty, plus_infty, ERRNO_UNCHANGED),
|
||||
TEST_f_f (exp2m1, minus_infty, -1, ERRNO_UNCHANGED),
|
||||
TEST_f_f (exp2m1, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_f_f (exp2m1, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
|
||||
TEST_f_f (exp2m1, snan_value, qnan_value, INVALID_EXCEPTION),
|
||||
TEST_f_f (exp2m1, -snan_value, qnan_value, INVALID_EXCEPTION),
|
||||
|
||||
AUTO_TESTS_f_f (exp2m1),
|
||||
};
|
||||
|
||||
static void
|
||||
exp2m1_test (void)
|
||||
{
|
||||
ALL_RM_TEST (exp2m1, 0, exp2m1_test_data, RUN_TEST_LOOP_f_f, END);
|
||||
}
|
||||
|
||||
static void
|
||||
do_test (void)
|
||||
{
|
||||
exp2m1_test ();
|
||||
}
|
||||
|
||||
/*
|
||||
* Local Variables:
|
||||
* mode:c
|
||||
* End:
|
||||
*/
|
45
math/s_exp10m1_template.c
Normal file
45
math/s_exp10m1_template.c
Normal file
@ -0,0 +1,45 @@
|
||||
/* Return exp10(X) - 1.
|
||||
Copyright (C) 2024 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <errno.h>
|
||||
#include <math.h>
|
||||
#include <math_private.h>
|
||||
#include <math-underflow.h>
|
||||
|
||||
FLOAT
|
||||
M_DECL_FUNC (__exp10m1) (FLOAT x)
|
||||
{
|
||||
if (isgreaterequal (x, M_LIT (-0.5)) && islessequal (x, M_LIT (0.5)))
|
||||
{
|
||||
FLOAT ret = M_SUF (__expm1) (M_MLIT (M_LN10) * x);
|
||||
math_check_force_underflow (ret);
|
||||
return ret;
|
||||
}
|
||||
else if (isgreater (x, M_MANT_DIG / 3 + M_LIT (2.0)))
|
||||
{
|
||||
FLOAT ret = M_SUF (__ieee754_exp10) (x);
|
||||
if (!isfinite (ret) && isfinite (x))
|
||||
__set_errno (ERANGE);
|
||||
return ret;
|
||||
}
|
||||
else if (isless (x, -(M_MANT_DIG / 3) - M_LIT (2.0)))
|
||||
return M_LIT (-1.0);
|
||||
else
|
||||
return M_SUF (__ieee754_exp10) (x) - M_LIT (1.0);
|
||||
}
|
||||
declare_mgen_alias (__exp10m1, exp10m1);
|
65
math/s_exp2m1_template.c
Normal file
65
math/s_exp2m1_template.c
Normal file
@ -0,0 +1,65 @@
|
||||
/* Return exp2(X) - 1.
|
||||
Copyright (C) 2024 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <errno.h>
|
||||
#include <fenv.h>
|
||||
#include <math.h>
|
||||
#include <math_private.h>
|
||||
#include <math-underflow.h>
|
||||
|
||||
FLOAT
|
||||
M_DECL_FUNC (__exp2m1) (FLOAT x)
|
||||
{
|
||||
if (isgreaterequal (x, M_LIT (-1.0)) && islessequal (x, M_LIT (1.0)))
|
||||
{
|
||||
FLOAT ret = M_SUF (__expm1) (M_MLIT (M_LN2) * x);
|
||||
math_check_force_underflow (ret);
|
||||
if (x != 0 && ret == 0)
|
||||
__set_errno (ERANGE);
|
||||
return ret;
|
||||
}
|
||||
else if (isgreater (x, M_MANT_DIG + M_LIT (2.0)))
|
||||
{
|
||||
#if defined FE_DOWNWARD || defined FE_TOWARDZERO
|
||||
/* exp2m1 (MAX_EXP) should not overflow in these two rounding
|
||||
modes, but exp2 does overflow. */
|
||||
if (x == M_MAX_EXP)
|
||||
{
|
||||
int rnd_mode = fegetround ();
|
||||
if (0
|
||||
# ifdef FE_DOWNWARD
|
||||
|| rnd_mode == FE_DOWNWARD
|
||||
# endif
|
||||
# ifdef FE_TOWARDZERO
|
||||
|| rnd_mode == FE_TOWARDZERO
|
||||
# endif
|
||||
)
|
||||
return M_MAX;
|
||||
}
|
||||
#endif
|
||||
FLOAT ret = M_SUF (__ieee754_exp2) (x);
|
||||
if (!isfinite (ret) && isfinite (x))
|
||||
__set_errno (ERANGE);
|
||||
return ret;
|
||||
}
|
||||
else if (isless (x, -M_MANT_DIG - M_LIT (2.0)))
|
||||
return M_LIT (-1.0);
|
||||
else
|
||||
return M_SUF (__ieee754_exp2) (x) - M_LIT (1.0);
|
||||
}
|
||||
declare_mgen_alias (__exp2m1, exp2m1);
|
@ -48,7 +48,7 @@ volatile int count_cdouble;
|
||||
volatile int count_cfloat;
|
||||
volatile int count_cldouble;
|
||||
|
||||
#define NCALLS 164
|
||||
#define NCALLS 168
|
||||
#define NCALLS_INT 4
|
||||
#define NCCALLS 47
|
||||
|
||||
@ -250,6 +250,8 @@ F(compile_test) (void)
|
||||
b = ldexp (ldexp (a, 1), 5);
|
||||
a = frexp (frexp (x, &i), &i);
|
||||
b = expm1 (expm1 (a));
|
||||
a = exp2m1 (exp2m1 (b));
|
||||
b = exp10m1 (exp10m1 (a));
|
||||
a = log1p (log1p (x));
|
||||
b = logb (logb (a));
|
||||
a = exp2 (exp2 (x));
|
||||
@ -366,6 +368,8 @@ F(compile_test) (void)
|
||||
a = ldexp (y, 5);
|
||||
a = frexp (y, &i);
|
||||
a = expm1 (y);
|
||||
a = exp2m1 (y);
|
||||
a = exp10m1 (y);
|
||||
a = log1p (y);
|
||||
a = logb (y);
|
||||
a = exp2 (y);
|
||||
@ -607,6 +611,22 @@ TYPE
|
||||
return x;
|
||||
}
|
||||
|
||||
TYPE
|
||||
(F(exp2m1)) (TYPE x)
|
||||
{
|
||||
++count;
|
||||
P ();
|
||||
return x;
|
||||
}
|
||||
|
||||
TYPE
|
||||
(F(exp10m1)) (TYPE x)
|
||||
{
|
||||
++count;
|
||||
P ();
|
||||
return x;
|
||||
}
|
||||
|
||||
TYPE
|
||||
(F(log1p)) (TYPE x)
|
||||
{
|
||||
|
@ -875,6 +875,12 @@
|
||||
/* Compute exponent to base ten. */
|
||||
#define exp10(Val) __TGMATH_UNARY_REAL_ONLY (Val, exp10)
|
||||
|
||||
/* Return exp2(X) - 1. */
|
||||
#define exp2m1(Val) __TGMATH_UNARY_REAL_ONLY (Val, exp2m1)
|
||||
|
||||
/* Return exp10(X) - 1. */
|
||||
#define exp10m1(Val) __TGMATH_UNARY_REAL_ONLY (Val, exp10m1)
|
||||
|
||||
/* Return log2(1 + X). */
|
||||
#define log2p1(Val) __TGMATH_UNARY_REAL_ONLY (Val, log2p1)
|
||||
|
||||
|
@ -1156,6 +1156,30 @@ float: 1
|
||||
float128: 3
|
||||
ldouble: 2
|
||||
|
||||
Function: "exp10m1":
|
||||
double: 1
|
||||
float: 1
|
||||
float128: 1
|
||||
ldouble: 1
|
||||
|
||||
Function: "exp10m1_downward":
|
||||
double: 1
|
||||
float: 1
|
||||
float128: 3
|
||||
ldouble: 2
|
||||
|
||||
Function: "exp10m1_towardzero":
|
||||
double: 1
|
||||
float: 1
|
||||
float128: 3
|
||||
ldouble: 2
|
||||
|
||||
Function: "exp10m1_upward":
|
||||
double: 3
|
||||
float: 1
|
||||
float128: 3
|
||||
ldouble: 2
|
||||
|
||||
Function: "exp2":
|
||||
double: 1
|
||||
float128: 1
|
||||
@ -1175,6 +1199,30 @@ float: 1
|
||||
float128: 2
|
||||
ldouble: 1
|
||||
|
||||
Function: "exp2m1":
|
||||
double: 1
|
||||
float: 1
|
||||
float128: 1
|
||||
ldouble: 1
|
||||
|
||||
Function: "exp2m1_downward":
|
||||
double: 2
|
||||
float: 1
|
||||
float128: 2
|
||||
ldouble: 3
|
||||
|
||||
Function: "exp2m1_towardzero":
|
||||
double: 2
|
||||
float: 1
|
||||
float128: 2
|
||||
ldouble: 3
|
||||
|
||||
Function: "exp2m1_upward":
|
||||
double: 1
|
||||
float: 1
|
||||
float128: 2
|
||||
ldouble: 3
|
||||
|
||||
Function: "exp_downward":
|
||||
double: 1
|
||||
float: 1
|
||||
|
@ -138,6 +138,8 @@ libm {
|
||||
__fminimum_mag_numieee128;
|
||||
}
|
||||
GLIBC_2.40 {
|
||||
__exp2m1ieee128;
|
||||
__exp10m1ieee128;
|
||||
__log2p1ieee128;
|
||||
__log10p1ieee128;
|
||||
__logp1ieee128;
|
||||
|
@ -61,8 +61,10 @@ libnldbl-calls = \
|
||||
erf \
|
||||
erfc \
|
||||
exp \
|
||||
exp10m1 \
|
||||
exp2 \
|
||||
exp10 \
|
||||
exp2m1 \
|
||||
expm1 \
|
||||
fabs \
|
||||
fadd \
|
||||
@ -296,7 +298,9 @@ CFLAGS-nldbl-erf.c = -fno-builtin-erfl
|
||||
CFLAGS-nldbl-erfc.c = -fno-builtin-erfcl
|
||||
CFLAGS-nldbl-exp.c = -fno-builtin-expl
|
||||
CFLAGS-nldbl-exp10.c = -fno-builtin-exp10l
|
||||
CFLAGS-nldbl-exp10m1.c = -fno-builtin-exp10m1l
|
||||
CFLAGS-nldbl-exp2.c = -fno-builtin-exp2l
|
||||
CFLAGS-nldbl-exp2m1.c = -fno-builtin-exp2m1l
|
||||
CFLAGS-nldbl-expm1.c = -fno-builtin-expm1l
|
||||
CFLAGS-nldbl-fabs.c = -fno-builtin-fabsl
|
||||
CFLAGS-nldbl-fadd.c = -fno-builtin-faddl
|
||||
|
8
sysdeps/ieee754/ldbl-opt/nldbl-exp10m1.c
Normal file
8
sysdeps/ieee754/ldbl-opt/nldbl-exp10m1.c
Normal file
@ -0,0 +1,8 @@
|
||||
#include "nldbl-compat.h"
|
||||
|
||||
double
|
||||
attribute_hidden
|
||||
exp10m1l (double x)
|
||||
{
|
||||
return exp10m1 (x);
|
||||
}
|
8
sysdeps/ieee754/ldbl-opt/nldbl-exp2m1.c
Normal file
8
sysdeps/ieee754/ldbl-opt/nldbl-exp2m1.c
Normal file
@ -0,0 +1,8 @@
|
||||
#include "nldbl-compat.h"
|
||||
|
||||
double
|
||||
attribute_hidden
|
||||
exp2m1l (double x)
|
||||
{
|
||||
return exp2m1 (x);
|
||||
}
|
@ -1181,6 +1181,22 @@ GLIBC_2.35 fsqrt F
|
||||
GLIBC_2.35 fsqrtl F
|
||||
GLIBC_2.35 hypot F
|
||||
GLIBC_2.35 hypotf F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f128 F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1f64x F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f128 F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1f64x F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f128 F
|
||||
|
@ -1038,6 +1038,22 @@ GLIBC_2.38 ynf32x F
|
||||
GLIBC_2.38 ynf64 F
|
||||
GLIBC_2.38 ynf64x F
|
||||
GLIBC_2.38 ynl F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f128 F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1f64x F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f128 F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1f64x F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f128 F
|
||||
|
@ -91,7 +91,8 @@ gen-libm-f128-ifunc-routines = \
|
||||
e_expf128 e_fmodf128 e_hypotf128 e_j0f128 e_j1f128 e_jnf128 \
|
||||
e_lgammaf128_r e_logf128 e_log10f128 e_powf128 e_remainderf128 \
|
||||
e_sinhf128 e_sqrtf128 e_gammaf128_r e_ilogbf128 k_tanf128 s_asinhf128 \
|
||||
s_atanf128 s_cbrtf128 s_ceilf128 s_cosf128 s_erff128 s_expm1f128 \
|
||||
s_atanf128 s_cbrtf128 s_ceilf128 s_cosf128 s_erff128 s_exp10m1f128 \
|
||||
s_exp2m1f128 s_expm1f128 \
|
||||
s_fabsf128 s_floorf128 s_log1pf128 s_logbf128 \
|
||||
s_rintf128 s_scalblnf128 s_sinf128 s_tanf128 \
|
||||
s_tanhf128 s_truncf128 s_remquof128 e_log2f128 \
|
||||
@ -253,7 +254,9 @@ CFLAGS-s_erff128-ifunc.c += -fno-builtin-erff64x
|
||||
CFLAGS-s_erfcf128-ifunc.c += -fno-builtin-erfcf64x
|
||||
CFLAGS-e_expf128-ifunc.c += -fno-builtin-expf64x
|
||||
CFLAGS-w_exp10f128-ifunc.c += -fno-builtin-exp10f64x
|
||||
CFLAGS-s_exp10m1f128-ifunc.c += -fno-builtin-exp10m1f64x
|
||||
CFLAGS-e_exp2f128-ifunc.c += -fno-builtin-exp2f64x
|
||||
CFLAGS-s_exp2m1f128-ifunc.c += -fno-builtin-exp2m1f64x
|
||||
CFLAGS-s_expm1f128-ifunc.c += -fno-builtin-expm1f64x
|
||||
CFLAGS-s_fabsf128-ifunc.c += -fno-builtin-fabsf64x
|
||||
CFLAGS-s_faddf128-ifunc.c += -fno-builtin-f32addf64x
|
||||
|
@ -59,6 +59,8 @@ F128_REDIR (__cosf128)
|
||||
F128_REDIR (__erfcf128)
|
||||
F128_REDIR (__erff128)
|
||||
F128_REDIR (__expf128)
|
||||
F128_REDIR (__exp10m1f128);
|
||||
F128_REDIR (__exp2m1f128);
|
||||
F128_REDIR (__expm1f128)
|
||||
F128_REDIR (__fabsf128)
|
||||
F128_REDIR (__fdimf128)
|
||||
|
@ -81,6 +81,8 @@ F128_REDIR (__crealf128);
|
||||
F128_REDIR (__conjf128);
|
||||
F128_REDIR (__cprojf128);
|
||||
F128_REDIR (__cabsf128);
|
||||
F128_REDIR (__exp10m1f128);
|
||||
F128_REDIR (__exp2m1f128);
|
||||
F128_REDIR (__fdimf128);
|
||||
F128_REDIR (__fminf128);
|
||||
F128_REDIR (__fmaxf128);
|
||||
@ -89,6 +91,7 @@ F128_REDIR (__llogbf128);
|
||||
F128_REDIR (__log2f128);
|
||||
F128_REDIR (__exp10f128);
|
||||
F128_REDIR (__exp2f128);
|
||||
F128_REDIR (__expm1f128);
|
||||
F128_REDIR (__j0f128);
|
||||
F128_REDIR (__j1f128);
|
||||
F128_REDIR (__jnf128);
|
||||
|
@ -1149,6 +1149,22 @@ GLIBC_2.35 hypotf F
|
||||
GLIBC_2.38 fmod F
|
||||
GLIBC_2.38 fmodf F
|
||||
GLIBC_2.39 exp10 F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f128 F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1f64x F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f128 F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1f64x F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f128 F
|
||||
|
@ -1308,6 +1308,22 @@ GLIBC_2.4 truncl F
|
||||
GLIBC_2.4 y0l F
|
||||
GLIBC_2.4 y1l F
|
||||
GLIBC_2.4 ynl F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f128 F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1f64x F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f128 F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1f64x F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f128 F
|
||||
|
@ -757,6 +757,18 @@ GLIBC_2.35 fminimumf64 F
|
||||
GLIBC_2.35 fminimuml F
|
||||
GLIBC_2.35 fsqrt F
|
||||
GLIBC_2.35 fsqrtl F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f32 F
|
||||
|
@ -848,6 +848,18 @@ GLIBC_2.4 y1l F
|
||||
GLIBC_2.4 yn F
|
||||
GLIBC_2.4 ynf F
|
||||
GLIBC_2.4 ynl F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f32 F
|
||||
|
@ -848,6 +848,18 @@ GLIBC_2.4 y1l F
|
||||
GLIBC_2.4 yn F
|
||||
GLIBC_2.4 ynf F
|
||||
GLIBC_2.4 ynl F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f32 F
|
||||
|
@ -823,6 +823,18 @@ GLIBC_2.35 fminimumf64 F
|
||||
GLIBC_2.35 fminimuml F
|
||||
GLIBC_2.35 fsqrt F
|
||||
GLIBC_2.35 fsqrtl F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f32 F
|
||||
|
@ -848,6 +848,18 @@ GLIBC_2.38 fmod F
|
||||
GLIBC_2.38 fmodf F
|
||||
GLIBC_2.39 exp10 F
|
||||
GLIBC_2.4 exp2l F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f32 F
|
||||
|
@ -1188,6 +1188,22 @@ GLIBC_2.35 fsqrt F
|
||||
GLIBC_2.35 fsqrtl F
|
||||
GLIBC_2.35 hypot F
|
||||
GLIBC_2.35 hypotf F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f128 F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1f64x F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f128 F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1f64x F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f128 F
|
||||
|
@ -1028,6 +1028,22 @@ GLIBC_2.36 ynf32x F
|
||||
GLIBC_2.36 ynf64 F
|
||||
GLIBC_2.36 ynf64x F
|
||||
GLIBC_2.36 ynl F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f128 F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1f64x F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f128 F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1f64x F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f128 F
|
||||
|
@ -848,6 +848,18 @@ GLIBC_2.4 y1l F
|
||||
GLIBC_2.4 yn F
|
||||
GLIBC_2.4 ynf F
|
||||
GLIBC_2.4 ynl F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f32 F
|
||||
|
@ -884,6 +884,18 @@ GLIBC_2.35 fsqrt F
|
||||
GLIBC_2.35 fsqrtl F
|
||||
GLIBC_2.35 hypot F
|
||||
GLIBC_2.35 hypotf F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f32 F
|
||||
|
@ -848,6 +848,18 @@ GLIBC_2.35 hypotf F
|
||||
GLIBC_2.38 fmod F
|
||||
GLIBC_2.38 fmodf F
|
||||
GLIBC_2.39 exp10 F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f32 F
|
||||
|
@ -848,6 +848,18 @@ GLIBC_2.35 hypotf F
|
||||
GLIBC_2.38 fmod F
|
||||
GLIBC_2.38 fmodf F
|
||||
GLIBC_2.39 exp10 F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f32 F
|
||||
|
@ -848,6 +848,18 @@ GLIBC_2.38 fmod F
|
||||
GLIBC_2.38 fmodf F
|
||||
GLIBC_2.39 exp10 F
|
||||
GLIBC_2.4 exp2l F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f32 F
|
||||
|
@ -1149,6 +1149,22 @@ GLIBC_2.35 hypotf F
|
||||
GLIBC_2.38 fmod F
|
||||
GLIBC_2.38 fmodf F
|
||||
GLIBC_2.39 exp10 F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f128 F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1f64x F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f128 F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1f64x F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f128 F
|
||||
|
@ -848,6 +848,18 @@ GLIBC_2.35 hypotf F
|
||||
GLIBC_2.38 fmod F
|
||||
GLIBC_2.38 fmodf F
|
||||
GLIBC_2.39 exp10 F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f32 F
|
||||
|
@ -757,6 +757,18 @@ GLIBC_2.35 ynf32 F
|
||||
GLIBC_2.35 ynf32x F
|
||||
GLIBC_2.35 ynf64 F
|
||||
GLIBC_2.35 ynl F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f32 F
|
||||
|
@ -995,6 +995,18 @@ GLIBC_2.4 truncl F
|
||||
GLIBC_2.4 y0l F
|
||||
GLIBC_2.4 y1l F
|
||||
GLIBC_2.4 ynl F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f32 F
|
||||
|
@ -994,6 +994,18 @@ GLIBC_2.4 truncl F
|
||||
GLIBC_2.4 y0l F
|
||||
GLIBC_2.4 y1l F
|
||||
GLIBC_2.4 ynl F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f32 F
|
||||
|
@ -988,6 +988,18 @@ GLIBC_2.4 truncl F
|
||||
GLIBC_2.4 y0l F
|
||||
GLIBC_2.4 y1l F
|
||||
GLIBC_2.4 ynl F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f32 F
|
||||
|
@ -1321,9 +1321,27 @@ GLIBC_2.35 hypotf F
|
||||
GLIBC_2.38 fmod F
|
||||
GLIBC_2.38 fmodf F
|
||||
GLIBC_2.39 exp10 F
|
||||
GLIBC_2.40 __exp10m1ieee128 F
|
||||
GLIBC_2.40 __exp2m1ieee128 F
|
||||
GLIBC_2.40 __log10p1ieee128 F
|
||||
GLIBC_2.40 __log2p1ieee128 F
|
||||
GLIBC_2.40 __logp1ieee128 F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f128 F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1f64x F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f128 F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1f64x F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f128 F
|
||||
|
@ -1028,6 +1028,22 @@ GLIBC_2.35 fminimumf64x F
|
||||
GLIBC_2.35 fminimuml F
|
||||
GLIBC_2.35 fsqrt F
|
||||
GLIBC_2.35 fsqrtl F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f128 F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1f64x F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f128 F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1f64x F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f128 F
|
||||
|
@ -1125,6 +1125,22 @@ GLIBC_2.35 fminimumf64x F
|
||||
GLIBC_2.35 fminimuml F
|
||||
GLIBC_2.35 fsqrt F
|
||||
GLIBC_2.35 fsqrtl F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f128 F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1f64x F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f128 F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1f64x F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f128 F
|
||||
|
@ -1252,6 +1252,22 @@ GLIBC_2.4 truncl F
|
||||
GLIBC_2.4 y0l F
|
||||
GLIBC_2.4 y1l F
|
||||
GLIBC_2.4 ynl F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f128 F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1f64x F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f128 F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1f64x F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f128 F
|
||||
|
@ -1252,6 +1252,22 @@ GLIBC_2.4 truncl F
|
||||
GLIBC_2.4 y0l F
|
||||
GLIBC_2.4 y1l F
|
||||
GLIBC_2.4 ynl F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f128 F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1f64x F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f128 F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1f64x F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f128 F
|
||||
|
@ -848,6 +848,18 @@ GLIBC_2.38 fmod F
|
||||
GLIBC_2.38 fmodf F
|
||||
GLIBC_2.39 exp10 F
|
||||
GLIBC_2.4 exp2l F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f32 F
|
||||
|
@ -848,6 +848,18 @@ GLIBC_2.38 fmod F
|
||||
GLIBC_2.38 fmodf F
|
||||
GLIBC_2.39 exp10 F
|
||||
GLIBC_2.4 exp2l F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f32 F
|
||||
|
@ -1259,6 +1259,22 @@ GLIBC_2.4 truncl F
|
||||
GLIBC_2.4 y0l F
|
||||
GLIBC_2.4 y1l F
|
||||
GLIBC_2.4 ynl F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f128 F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1f64x F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f128 F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1f64x F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f128 F
|
||||
|
@ -1149,6 +1149,22 @@ GLIBC_2.35 hypotf F
|
||||
GLIBC_2.38 fmod F
|
||||
GLIBC_2.38 fmodf F
|
||||
GLIBC_2.39 exp10 F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f128 F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1f64x F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f128 F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1f64x F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f128 F
|
||||
|
@ -1182,6 +1182,22 @@ GLIBC_2.35 hypotf F
|
||||
GLIBC_2.38 fmod F
|
||||
GLIBC_2.38 fmodf F
|
||||
GLIBC_2.39 exp10 F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f128 F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1f64x F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f128 F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1f64x F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f128 F
|
||||
|
@ -1182,6 +1182,22 @@ GLIBC_2.35 hypotf F
|
||||
GLIBC_2.38 fmod F
|
||||
GLIBC_2.38 fmodf F
|
||||
GLIBC_2.39 exp10 F
|
||||
GLIBC_2.40 exp10m1 F
|
||||
GLIBC_2.40 exp10m1f F
|
||||
GLIBC_2.40 exp10m1f128 F
|
||||
GLIBC_2.40 exp10m1f32 F
|
||||
GLIBC_2.40 exp10m1f32x F
|
||||
GLIBC_2.40 exp10m1f64 F
|
||||
GLIBC_2.40 exp10m1f64x F
|
||||
GLIBC_2.40 exp10m1l F
|
||||
GLIBC_2.40 exp2m1 F
|
||||
GLIBC_2.40 exp2m1f F
|
||||
GLIBC_2.40 exp2m1f128 F
|
||||
GLIBC_2.40 exp2m1f32 F
|
||||
GLIBC_2.40 exp2m1f32x F
|
||||
GLIBC_2.40 exp2m1f64 F
|
||||
GLIBC_2.40 exp2m1f64x F
|
||||
GLIBC_2.40 exp2m1l F
|
||||
GLIBC_2.40 log10p1 F
|
||||
GLIBC_2.40 log10p1f F
|
||||
GLIBC_2.40 log10p1f128 F
|
||||
|
@ -1429,6 +1429,30 @@ float: 1
|
||||
Function: "exp10_vlen8_avx2":
|
||||
float: 1
|
||||
|
||||
Function: "exp10m1":
|
||||
double: 2
|
||||
float: 1
|
||||
float128: 1
|
||||
ldouble: 1
|
||||
|
||||
Function: "exp10m1_downward":
|
||||
double: 1
|
||||
float: 1
|
||||
float128: 3
|
||||
ldouble: 2
|
||||
|
||||
Function: "exp10m1_towardzero":
|
||||
double: 1
|
||||
float: 1
|
||||
float128: 3
|
||||
ldouble: 2
|
||||
|
||||
Function: "exp10m1_upward":
|
||||
double: 3
|
||||
float: 1
|
||||
float128: 3
|
||||
ldouble: 2
|
||||
|
||||
Function: "exp2":
|
||||
double: 1
|
||||
float: 1
|
||||
@ -1473,6 +1497,30 @@ float: 1
|
||||
Function: "exp2_vlen8_avx2":
|
||||
float: 1
|
||||
|
||||
Function: "exp2m1":
|
||||
double: 1
|
||||
float: 1
|
||||
float128: 1
|
||||
ldouble: 1
|
||||
|
||||
Function: "exp2m1_downward":
|
||||
double: 2
|
||||
float: 1
|
||||
float128: 2
|
||||
ldouble: 3
|
||||
|
||||
Function: "exp2m1_towardzero":
|
||||
double: 2
|
||||
float: 1
|
||||
float128: 2
|
||||
ldouble: 3
|
||||
|
||||
Function: "exp2m1_upward":
|
||||
double: 1
|
||||
float: 1
|
||||
float128: 2
|
||||
ldouble: 3
|
||||
|
||||
Function: "exp_downward":
|
||||
double: 1
|
||||
float: 1
|
||||
|
Loading…
Reference in New Issue
Block a user