Implement C23 tanpi

C23 adds various <math.h> function families originally defined in TS
18661-4.  Add the tanpi functions (tan(pi*x)).

Tested for x86_64 and x86, and with build-many-glibcs.py.
This commit is contained in:
Joseph Myers 2024-12-05 21:42:10 +00:00
parent 062257c5d9
commit f9e90e4b4c
51 changed files with 9618 additions and 2 deletions

2
NEWS
View File

@ -36,7 +36,7 @@ Major new features:
functions for float, double, long double, _FloatN and _FloatNx, and a
type-generic macro in <tgmath.h>.
- Trigonometric functions: cospi, sinpi.
- Trigonometric functions: cospi, sinpi, tanpi.
* The GNU C Library now supports a feature test macro _ISOC2Y_SOURCE to
enable features from the draft ISO C2Y standard. Only some features from

View File

@ -266,6 +266,18 @@ return value is in the range @code{-1} to @code{1}.
The @code{cospi} functions are from TS 18661-4:2015.
@end deftypefun
@deftypefun double tanpi (double @var{x})
@deftypefunx float tanpif (float @var{x})
@deftypefunx {long double} tanpil (long double @var{x})
@deftypefunx _FloatN tanpifN (_Float@var{N} @var{x})
@deftypefunx _FloatNx tanpifNx (_Float@var{N}x @var{x})
@standards{TS 18661-4:2015, math.h}
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
These functions return the tangent of pi multiplied by @var{x}.
The @code{tanpi} functions are from TS 18661-4:2015.
@end deftypefun
@cindex complex trigonometric functions
@w{ISO C99} defines variants of the trig functions which work on

View File

@ -136,6 +136,7 @@ gen-libm-calls = \
s_nextdownF \
s_significandF \
s_sinpiF \
s_tanpiF \
w_acosF \
w_acoshF \
w_asinF \
@ -672,6 +673,7 @@ libm-test-funcs-auto = \
sqrt \
tan \
tanh \
tanpi \
tgamma \
y0 \
y1 \
@ -1004,6 +1006,7 @@ tgmath3-macros = \
sqrt \
tan \
tanh \
tanpi \
tgamma \
trunc \
ufromfp \
@ -1430,6 +1433,7 @@ CFLAGS-s_sinpi.c += -fno-builtin-sinpil
CFLAGS-w_sqrt.c += -fno-builtin-sqrtl
CFLAGS-s_tan.c += -fno-builtin-tanl
CFLAGS-s_tanh.c += -fno-builtin-tanhl
CFLAGS-s_tanpi.c += -fno-builtin-tanpil
CFLAGS-w_tgamma.c += -fno-builtin-tgammal
CFLAGS-s_totalorder.c += -fno-builtin-totalorderl
CFLAGS-s_totalordermag.c += -fno-builtin-totalordermagl
@ -1557,6 +1561,7 @@ CFLAGS-s_sinpi.c += -fno-builtin-sinpif32x -fno-builtin-sinpif64
CFLAGS-w_sqrt.c += -fno-builtin-sqrtf32x -fno-builtin-sqrtf64
CFLAGS-s_tan.c += -fno-builtin-tanf32x -fno-builtin-tanf64
CFLAGS-s_tanh.c += -fno-builtin-tanhf32x -fno-builtin-tanhf64
CFLAGS-s_tanpi.c += -fno-builtin-tanpif32x -fno-builtin-tanpif64
CFLAGS-w_tgamma.c += -fno-builtin-tgammaf32x -fno-builtin-tgammaf64
CFLAGS-s_totalorder.c += -fno-builtin-totalorderf32x -fno-builtin-totalorderf64
CFLAGS-s_totalordermag.c += -fno-builtin-totalordermagf32x -fno-builtin-totalordermagf64
@ -1677,6 +1682,7 @@ CFLAGS-s_sinpif.c += -fno-builtin-sinpif32
CFLAGS-w_sqrtf.c += -fno-builtin-sqrtf32
CFLAGS-s_tanf.c += -fno-builtin-tanf32
CFLAGS-s_tanhf.c += -fno-builtin-tanhf32
CFLAGS-s_tanpif.c += -fno-builtin-tanpif32
CFLAGS-w_tgammaf.c += -fno-builtin-tgammaf32
CFLAGS-s_totalorderf.c += -fno-builtin-totalorderf32
CFLAGS-s_totalordermagf.c += -fno-builtin-totalordermagf32

View File

@ -657,8 +657,10 @@ libm {
# Functions not involving _Float64x or _Float128, for all configurations.
cospi; cospif; cospil; cospif32; cospif64; cospif32x;
sinpi; sinpif; sinpil; sinpif32; sinpif64; sinpif32x;
tanpi; tanpif; tanpil; tanpif32; tanpif64; tanpif32x;
# Functions involving _Float64x or _Float128, for some configurations.
cospif64x; cospif128;
sinpif64x; sinpif128;
tanpif64x; tanpif128;
}
}

View File

@ -8427,6 +8427,89 @@ tanh -min
tanh min_subnorm
tanh -min_subnorm
tanpi 0
tanpi -0
tanpi min
tanpi -min
tanpi min_subnorm
tanpi -min_subnorm
tanpi max
tanpi -max
tanpi 1
tanpi -1
tanpi 2
tanpi -2
tanpi 3
tanpi -3
tanpi 4
tanpi -4
tanpi 0.1
tanpi -0.1
tanpi 0.2
tanpi -0.2
tanpi 0.3
tanpi -0.3
tanpi 0.4
tanpi -0.4
tanpi 0.6
tanpi -0.6
tanpi 0.7
tanpi -0.7
tanpi 0.8
tanpi -0.8
tanpi 0.9
tanpi -0.9
tanpi 1.1
tanpi -1.1
tanpi 1.2
tanpi -1.2
tanpi 1.3
tanpi -1.3
tanpi 1.4
tanpi -1.4
tanpi 0.24
tanpi -0.24
tanpi 0.49
tanpi -0.49
tanpi 0.51
tanpi -0.51
tanpi 0.76
tanpi -0.76
tanpi 1.24
tanpi -1.24
tanpi 1.49
tanpi -1.49
tanpi 1.51
tanpi -1.51
tanpi 1.76
tanpi -1.76
tanpi 100.24
tanpi -100.24
tanpi 100.49
tanpi -100.49
tanpi 100.51
tanpi -100.51
tanpi 100.76
tanpi -100.76
tanpi 1234.56
tanpi -1234.56
tanpi 0x1fffff.6p0
tanpi -0x1fffff.6p0
tanpi 0x1fffff.ap0
tanpi -0x1fffff.ap0
tanpi 0x3ffffffffffff.6p0
tanpi -0x3ffffffffffff.6p0
tanpi 0x3ffffffffffff.ap0
tanpi -0x3ffffffffffff.ap0
tanpi 0x1fffffffffffffff.6p0
tanpi -0x1fffffffffffffff.6p0
tanpi 0x1fffffffffffffff.ap0
tanpi -0x1fffffffffffffff.ap0
tanpi 0x3fffffffffffffffffffffffffff.6p0
tanpi -0x3fffffffffffffffffffffffffff.6p0
tanpi 0x3fffffffffffffffffffffffffff.ap0
tanpi -0x3fffffffffffffffffffffffffff.ap0
tgamma 0.5
tgamma -0.5

File diff suppressed because it is too large Load Diff

View File

@ -70,6 +70,8 @@ __MATHCALL_VEC (tan,, (_Mdouble_ __x));
__MATHCALL (cospi,, (_Mdouble_ __x));
/* Sine of pi * X. */
__MATHCALL (sinpi,, (_Mdouble_ __x));
/* Tangent of pi * X. */
__MATHCALL (tanpi,, (_Mdouble_ __x));
#endif
/* Hyperbolic functions. */

View File

@ -596,6 +596,7 @@ static test_function test_functions[] =
FUNC_mpfr_f_f ("sqrt", mpfr_sqrt, true),
FUNC_mpfr_f_f ("tan", mpfr_tan, false),
FUNC_mpfr_f_f ("tanh", mpfr_tanh, false),
FUNC_mpfr_f_f ("tanpi", mpfr_tanpi, false),
FUNC_mpfr_f_f ("tgamma", mpfr_gamma, false),
FUNC_mpfr_f_f ("y0", mpfr_y0, false),
FUNC_mpfr_f_f ("y1", mpfr_y1, false),

View File

@ -750,6 +750,7 @@ class Tests(object):
self.add_tests('log10p1', 'r', ['r'])
self.add_tests('logp1', 'r', ['r'])
self.add_tests('sinpi', 'r', ['r'])
self.add_tests('tanpi', 'r', ['r'])
# C23 functions.
self.add_tests('fmaximum', 'r', ['r', 'r'])
self.add_tests('fmaximum_mag', 'r', ['r', 'r'])

89
math/libm-test-tanpi.inc Normal file
View File

@ -0,0 +1,89 @@
/* Test tanpi.
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 tanpi_test_data[] =
{
TEST_f_f (tanpi, plus_infty, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
TEST_f_f (tanpi, minus_infty, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
TEST_f_f (tanpi, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_f_f (tanpi, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_f_f (tanpi, snan_value, qnan_value, INVALID_EXCEPTION),
TEST_f_f (tanpi, -snan_value, qnan_value, INVALID_EXCEPTION),
TEST_f_f (tanpi, 0.5, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, 1.5, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, 2.5, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, 3.5, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, 4.5, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, -0.5, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, -1.5, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, -2.5, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, -3.5, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, -4.5, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, 0xffffffp-1, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, 0xfffffdp-1, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, -0xffffffp-1, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, -0xfffffdp-1, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
#if MANT_DIG >= 53
TEST_f_f (tanpi, 0x1fffffffffffffp-1, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, 0x1ffffffffffffdp-1, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, -0x1fffffffffffffp-1, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, -0x1ffffffffffffdp-1, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
#endif
#if MANT_DIG >= 64
TEST_f_f (tanpi, 0xffffffffffffffffp-1, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, 0xfffffffffffffffdp-1, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, -0xffffffffffffffffp-1, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, -0xfffffffffffffffdp-1, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
#endif
#if MANT_DIG >= 106
TEST_f_f (tanpi, 0x3ffffffffffffffffffffffffffp-1, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, 0x3fffffffffffffffffffffffffdp-1, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, -0x3ffffffffffffffffffffffffffp-1, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, -0x3fffffffffffffffffffffffffdp-1, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
#endif
#if MANT_DIG >= 113
TEST_f_f (tanpi, 0x1ffffffffffffffffffffffffffffp-1, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, 0x1fffffffffffffffffffffffffffdp-1, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, -0x1ffffffffffffffffffffffffffffp-1, plus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
TEST_f_f (tanpi, -0x1fffffffffffffffffffffffffffdp-1, minus_infty, DIVIDE_BY_ZERO_EXCEPTION|ERRNO_ERANGE),
#endif
AUTO_TESTS_f_f (tanpi),
};
static void
tanpi_test (void)
{
ALL_RM_TEST (tanpi, 0, tanpi_test_data, RUN_TEST_LOOP_f_f, END);
}
static void
do_test (void)
{
tanpi_test ();
}
/*
* Local Variables:
* mode:c
* End:
*/

65
math/s_tanpi_template.c Normal file
View File

@ -0,0 +1,65 @@
/* Return tangent of pi * X.
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-underflow.h>
FLOAT
M_DECL_FUNC (__tanpi) (FLOAT x)
{
if (isless (M_FABS (x), M_EPSILON))
{
FLOAT ret = M_MLIT (M_PI) * x;
math_check_force_underflow (ret);
return ret;
}
if (__glibc_unlikely (isinf (x)))
__set_errno (EDOM);
FLOAT y = x - M_LIT (2.0) * M_SUF (round) (M_LIT (0.5) * x);
FLOAT absy = M_FABS (y);
if (absy == M_LIT (0.0))
/* For even integers, return +0 if positive and -0 if negative (so
matching sinpi(x)/cospi(x)). */
return M_COPYSIGN (M_LIT (0.0), x);
else if (absy == M_LIT (1.0))
/* For odd integers, return -0 if positive and +0 if negative (so
matching sinpi(x)/cospi(x)). */
return M_COPYSIGN (M_LIT (0.0), -x);
else if (absy == M_LIT (0.5))
{
/* Return infinity with positive sign for an even integer + 0.5
and negative sign for an odd integer + 0.5 (so matching
sinpi(x)/cospi(x)). */
__set_errno (ERANGE);
return 1.0 / M_COPYSIGN (M_LIT (0.0), y);
}
/* Now we only care about the value of X mod 1, not mod 2. */
else if (isgreater (absy, 0.5))
{
y -= M_COPYSIGN (M_LIT (1.0), y);
absy = M_FABS (y);
}
if (islessequal (absy, M_LIT (0.25)))
return M_SUF (__tan) (M_MLIT (M_PI) * y);
else
return M_COPYSIGN (M_LIT (1.0)
/ M_SUF (__tan) (M_MLIT (M_PI) * (M_LIT (0.5) - absy)),
y);
}
declare_mgen_alias (__tanpi, tanpi);

View File

@ -48,7 +48,7 @@ volatile int count_cdouble;
volatile int count_cfloat;
volatile int count_cldouble;
#define NCALLS 172
#define NCALLS 174
#define NCALLS_INT 4
#define NCCALLS 47
@ -238,6 +238,7 @@ F(compile_test) (void)
b = sinpi (sinpi (x));
b = asin (asin (a));
a = tan (tan (x));
b = tanpi (tanpi (x));
b = atan (atan (a));
c = atan2 (atan2 (a, c), atan2 (b, x));
a = cosh (cosh (x));
@ -358,6 +359,7 @@ F(compile_test) (void)
a = sinpi (y);
a = asin (y);
a = tan (y);
a = tanpi (y);
a = atan (y);
a = atan2 (y, y);
a = cosh (y);
@ -519,6 +521,14 @@ TYPE
return x;
}
TYPE
(F(tanpi)) (TYPE x)
{
++count;
P ();
return x;
}
TYPE
(F(atan)) (TYPE x)
{

View File

@ -822,6 +822,8 @@
# define cospi(Val) __TGMATH_UNARY_REAL_ONLY (Val, cospi)
/* Sine of pi * X. */
# define sinpi(Val) __TGMATH_UNARY_REAL_ONLY (Val, sinpi)
/* Tangent of pi * X. */
# define tanpi(Val) __TGMATH_UNARY_REAL_ONLY (Val, tanpi)
#endif
/* Hyperbolic functions. */

View File

@ -1709,6 +1709,30 @@ float: 3
float128: 3
ldouble: 4
Function: "tanpi":
double: 2
float: 2
float128: 2
ldouble: 2
Function: "tanpi_downward":
double: 2
float: 3
float128: 4
ldouble: 4
Function: "tanpi_towardzero":
double: 2
float: 3
float128: 4
ldouble: 4
Function: "tanpi_upward":
double: 2
float: 4
float128: 3
ldouble: 4
Function: "tgamma":
double: 9
float128: 4

View File

@ -147,6 +147,7 @@ libm {
GLIBC_2.41 {
__cospiieee128;
__sinpiieee128;
__tanpiieee128;
}
}
libc {

View File

@ -207,6 +207,7 @@ libnldbl-calls = \
syslog_chk \
tan \
tanh \
tanpi \
tgamma \
totalorder \
totalordermag \
@ -383,6 +384,7 @@ CFLAGS-nldbl-sinpi.c = -fno-builtin-sinpi
CFLAGS-nldbl-sqrt.c = -fno-builtin-sqrtl
CFLAGS-nldbl-tan.c = -fno-builtin-tanl
CFLAGS-nldbl-tanh.c = -fno-builtin-tanhl
CFLAGS-nldbl-tanpi.c = -fno-builtin-tanpi
CFLAGS-nldbl-tgamma.c = -fno-builtin-tgammal
CFLAGS-nldbl-totalorder.c = -fno-builtin-totalorderl
CFLAGS-nldbl-totalordermag.c = -fno-builtin-totalordermagl

View File

@ -0,0 +1,8 @@
#include "nldbl-compat.h"
double
attribute_hidden
tanpil (double x)
{
return tanpi (x);
}

View File

@ -1237,3 +1237,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif128 F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpif64x F
GLIBC_2.41 tanpil F

View File

@ -1094,3 +1094,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif128 F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpif64x F
GLIBC_2.41 tanpil F

View File

@ -58,4 +58,5 @@ CFLAGS-s_fminimum_mag_numl.c += -fno-builtin-fabsl
CFLAGS-s_log10p1l.c += -fno-builtin-fabsl
CFLAGS-s_log2p1l.c += -fno-builtin-fabsl
CFLAGS-s_sinpil.c += -fno-builtin-fabsl
CFLAGS-s_tanpil.c += -fno-builtin-fabsl
endif

View File

@ -1205,3 +1205,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif128 F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpif64x F
GLIBC_2.41 tanpil F

View File

@ -1364,3 +1364,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif128 F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpif64x F
GLIBC_2.41 tanpil F

View File

@ -799,3 +799,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpil F

View File

@ -890,3 +890,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpil F

View File

@ -890,3 +890,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpil F

View File

@ -865,3 +865,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpil F

View File

@ -890,3 +890,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpil F

View File

@ -1244,3 +1244,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif128 F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpif64x F
GLIBC_2.41 tanpil F

View File

@ -1084,3 +1084,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif128 F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpif64x F
GLIBC_2.41 tanpil F

View File

@ -890,3 +890,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpil F

View File

@ -926,3 +926,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpil F

View File

@ -890,3 +890,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpil F

View File

@ -890,3 +890,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpil F

View File

@ -890,3 +890,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpil F

View File

@ -1205,3 +1205,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif128 F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpif64x F
GLIBC_2.41 tanpil F

View File

@ -799,3 +799,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpil F

View File

@ -1037,3 +1037,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpil F

View File

@ -1036,3 +1036,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpil F

View File

@ -1030,3 +1030,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpil F

View File

@ -1368,6 +1368,7 @@ GLIBC_2.40 logp1f64x F
GLIBC_2.40 logp1l F
GLIBC_2.41 __cospiieee128 F
GLIBC_2.41 __sinpiieee128 F
GLIBC_2.41 __tanpiieee128 F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F
@ -1384,3 +1385,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif128 F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpif64x F
GLIBC_2.41 tanpil F

View File

@ -1084,3 +1084,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif128 F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpif64x F
GLIBC_2.41 tanpil F

View File

@ -1181,3 +1181,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif128 F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpif64x F
GLIBC_2.41 tanpil F

View File

@ -1308,3 +1308,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif128 F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpif64x F
GLIBC_2.41 tanpil F

View File

@ -1308,3 +1308,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif128 F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpif64x F
GLIBC_2.41 tanpil F

View File

@ -890,3 +890,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpil F

View File

@ -890,3 +890,9 @@ GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpil F

View File

@ -1315,3 +1315,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif128 F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpif64x F
GLIBC_2.41 tanpil F

View File

@ -1205,3 +1205,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif128 F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpif64x F
GLIBC_2.41 tanpil F

View File

@ -1238,3 +1238,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif128 F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpif64x F
GLIBC_2.41 tanpil F

View File

@ -1238,3 +1238,11 @@ GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F
GLIBC_2.41 tanpi F
GLIBC_2.41 tanpif F
GLIBC_2.41 tanpif128 F
GLIBC_2.41 tanpif32 F
GLIBC_2.41 tanpif32x F
GLIBC_2.41 tanpif64 F
GLIBC_2.41 tanpif64x F
GLIBC_2.41 tanpil F

View File

@ -2262,6 +2262,30 @@ double: 1
Function: "tanh_vlen8":
double: 1
Function: "tanpi":
double: 2
float: 2
float128: 2
ldouble: 2
Function: "tanpi_downward":
double: 2
float: 3
float128: 4
ldouble: 4
Function: "tanpi_towardzero":
double: 2
float: 3
float128: 4
ldouble: 4
Function: "tanpi_upward":
double: 2
float: 4
float128: 3
ldouble: 4
Function: "tgamma":
double: 9
float128: 4