Implement C23 sinpi

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

Tested for x86_64 and x86, and with build-many-glibcs.py.
This commit is contained in:
Joseph Myers 2024-12-04 20:04:04 +00:00
parent 0ae0af68d8
commit 776938e8b8
51 changed files with 10429 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.
- Trigonometric functions: cospi, sinpi.
* 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

@ -240,6 +240,19 @@ All these functions, including the @code{_Float@var{N}} and
should be prepared to cope with their absence.
@end deftypefun
@deftypefun double sinpi (double @var{x})
@deftypefunx float sinpif (float @var{x})
@deftypefunx {long double} sinpil (long double @var{x})
@deftypefunx _FloatN sinpifN (_Float@var{N} @var{x})
@deftypefunx _FloatNx sinpifNx (_Float@var{N}x @var{x})
@standards{TS 18661-4:2015, math.h}
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
These functions return the sine of pi multiplied by @var{x}. The
return value is in the range @code{-1} to @code{1}.
The @code{sinpi} functions are from TS 18661-4:2015.
@end deftypefun
@deftypefun double cospi (double @var{x})
@deftypefunx float cospif (float @var{x})
@deftypefunx {long double} cospil (long double @var{x})

View File

@ -135,6 +135,7 @@ gen-libm-calls = \
s_nanF \
s_nextdownF \
s_significandF \
s_sinpiF \
w_acosF \
w_acoshF \
w_asinF \
@ -667,6 +668,7 @@ libm-test-funcs-auto = \
sin \
sincos \
sinh \
sinpi \
sqrt \
tan \
tanh \
@ -998,6 +1000,7 @@ tgmath3-macros = \
scalbn \
sin \
sinh \
sinpi \
sqrt \
tan \
tanh \
@ -1423,6 +1426,7 @@ CFLAGS-s_significand.c += -fno-builtin-significandl
CFLAGS-s_sin.c += -fno-builtin-sinl
CFLAGS-s_sincos.c += -fno-builtin-sincosl
CFLAGS-w_sinh.c += -fno-builtin-sinhl
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
@ -1549,6 +1553,7 @@ CFLAGS-s_setpayloadsig.c += -fno-builtin-setpayloadsigf32x -fno-builtin-setpaylo
CFLAGS-s_sin.c += -fno-builtin-sinf32x -fno-builtin-sinf64
CFLAGS-s_sincos.c += -fno-builtin-sincosf32x -fno-builtin-sincosf64
CFLAGS-w_sinh.c += -fno-builtin-sinhf32x -fno-builtin-sinhf64
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
@ -1668,6 +1673,7 @@ CFLAGS-s_setpayloadsigf.c += -fno-builtin-setpayloadsigf32
CFLAGS-s_sinf.c += -fno-builtin-sinf32
CFLAGS-s_sincosf.c += -fno-builtin-sincosf32
CFLAGS-w_sinhf.c += -fno-builtin-sinhf32
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

View File

@ -656,7 +656,9 @@ libm {
GLIBC_2.41 {
# Functions not involving _Float64x or _Float128, for all configurations.
cospi; cospif; cospil; cospif32; cospif64; cospif32x;
sinpi; sinpif; sinpil; sinpif32; sinpif64; sinpif32x;
# Functions involving _Float64x or _Float128, for some configurations.
cospif64x; cospif128;
sinpif64x; sinpif128;
}
}

View File

@ -7985,6 +7985,107 @@ sinh 0x2.c5d37700c6bb03a6c24b6c9b494ep+12
# the next value generates larger error bounds on x86_64 (binary64)
sinh -0x1.633c62890fa14p+9
sinpi 0
sinpi -0
sinpi min
sinpi -min
sinpi min_subnorm
sinpi -min_subnorm
sinpi max
sinpi -max
sinpi 1
sinpi -1
sinpi 2
sinpi -2
sinpi 3
sinpi -3
sinpi 0.1
sinpi -0.1
sinpi 0.2
sinpi -0.2
sinpi 0.3
sinpi -0.3
sinpi 0.4
sinpi -0.4
sinpi 0.5
sinpi -0.5
sinpi 0.6
sinpi -0.6
sinpi 0.7
sinpi -0.7
sinpi 0.8
sinpi -0.8
sinpi 0.9
sinpi -0.9
sinpi 1.1
sinpi -1.1
sinpi 1.2
sinpi -1.2
sinpi 1.3
sinpi -1.3
sinpi 1.4
sinpi -1.4
sinpi 1.5
sinpi -1.5
sinpi 2.5
sinpi -2.5
sinpi 3.5
sinpi -3.5
sinpi 4.5
sinpi -4.5
sinpi 0.24
sinpi -0.24
sinpi 0.49
sinpi -0.49
sinpi 0.51
sinpi -0.51
sinpi 0.76
sinpi -0.76
sinpi 1.24
sinpi -1.24
sinpi 1.49
sinpi -1.49
sinpi 1.51
sinpi -1.51
sinpi 1.76
sinpi -1.76
sinpi 100.24
sinpi -100.24
sinpi 100.49
sinpi -100.49
sinpi 100.51
sinpi -100.51
sinpi 100.76
sinpi -100.76
sinpi 1234.56
sinpi -1234.56
sinpi 0x1fffff.2p0
sinpi -0x1fffff.2p0
sinpi 0x1fffff.ep0
sinpi -0x1fffff.ep0
sinpi 0x3ffffffffffff.2p0
sinpi -0x3ffffffffffff.2p0
sinpi 0x3ffffffffffff.ep0
sinpi -0x3ffffffffffff.ep0
sinpi 0x1fffffffffffffff.2p0
sinpi -0x1fffffffffffffff.2p0
sinpi 0x1fffffffffffffff.ep0
sinpi -0x1fffffffffffffff.ep0
sinpi 0x3fffffffffffffffffffffffffff.2p0
sinpi -0x3fffffffffffffffffffffffffff.2p0
sinpi 0x3fffffffffffffffffffffffffff.ep0
sinpi -0x3fffffffffffffffffffffffffff.ep0
sinpi 0x1p-128
sinpi -0x1p-128
sinpi 0x1p-971
sinpi -0x1p-971
sinpi 0x1p-1024
sinpi -0x1p-1024
sinpi 0x1p-16384
sinpi -0x1p-16384
sinpi 0x1p-16385
sinpi -0x1p-16385
sub 0 0
sub 0 -0
sub -0 0

File diff suppressed because it is too large Load Diff

View File

@ -68,6 +68,8 @@ __MATHCALL_VEC (tan,, (_Mdouble_ __x));
#if __GLIBC_USE (IEC_60559_FUNCS_EXT_C23)
/* Cosine of pi * X. */
__MATHCALL (cospi,, (_Mdouble_ __x));
/* Sine of pi * X. */
__MATHCALL (sinpi,, (_Mdouble_ __x));
#endif
/* Hyperbolic functions. */

View File

@ -590,6 +590,7 @@ static test_function test_functions[] =
FUNC_mpfr_f_f ("sin", mpfr_sin, false),
FUNC ("sincos", ARGS1 (type_fp), RET2 (type_fp, type_fp), false, false,
false, CALC (mpfr_f_11, mpfr_sin_cos)),
FUNC_mpfr_f_f ("sinpi", mpfr_sinpi, false),
FUNC_mpfr_f_f ("sinh", mpfr_sinh, false),
FUNC_mpfr_ff_f ("sub", mpfr_sub, true),
FUNC_mpfr_f_f ("sqrt", mpfr_sqrt, true),

View File

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

49
math/libm-test-sinpi.inc Normal file
View File

@ -0,0 +1,49 @@
/* Test sinpi.
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 sinpi_test_data[] =
{
TEST_f_f (sinpi, plus_infty, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
TEST_f_f (sinpi, minus_infty, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
TEST_f_f (sinpi, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_f_f (sinpi, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_f_f (sinpi, snan_value, qnan_value, INVALID_EXCEPTION),
TEST_f_f (sinpi, -snan_value, qnan_value, INVALID_EXCEPTION),
AUTO_TESTS_f_f (sinpi),
};
static void
sinpi_test (void)
{
ALL_RM_TEST (sinpi, 0, sinpi_test_data, RUN_TEST_LOOP_f_f, END);
}
static void
do_test (void)
{
sinpi_test ();
}
/*
* Local Variables:
* mode:c
* End:
*/

47
math/s_sinpi_template.c Normal file
View File

@ -0,0 +1,47 @@
/* Return sine 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 (__sinpi) (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_MLIT (2.0) * M_SUF (round) (M_LIT (0.5) * x);
FLOAT absy = M_FABS (y);
if (absy == M_LIT (0.0) || absy == M_LIT (1.0))
return M_COPYSIGN (M_LIT (0.0), x);
else if (islessequal (absy, M_LIT (0.25)))
return M_SUF (__sin) (M_MLIT (M_PI) * y);
else if (islessequal (absy, M_LIT (0.75)))
return M_COPYSIGN (M_SUF (__cos) (M_MLIT (M_PI) * (M_LIT (0.5) - absy)),
y);
else
return M_COPYSIGN (M_SUF (__sin) (M_MLIT (M_PI) * (M_LIT (1.0) - absy)),
y);
}
declare_mgen_alias (__sinpi, sinpi);

View File

@ -48,7 +48,7 @@ volatile int count_cdouble;
volatile int count_cfloat;
volatile int count_cldouble;
#define NCALLS 170
#define NCALLS 172
#define NCALLS_INT 4
#define NCCALLS 47
@ -235,6 +235,7 @@ F(compile_test) (void)
a = cospi (cospi (x));
b = acos (acos (a));
a = sin (sin (x));
b = sinpi (sinpi (x));
b = asin (asin (a));
a = tan (tan (x));
b = atan (atan (a));
@ -354,6 +355,7 @@ F(compile_test) (void)
a = cospi (y);
a = acos (y);
a = sin (y);
a = sinpi (y);
a = asin (y);
a = tan (y);
a = atan (y);
@ -493,6 +495,14 @@ TYPE
return x;
}
TYPE
(F(sinpi)) (TYPE x)
{
++count;
P ();
return x;
}
TYPE
(F(asin)) (TYPE x)
{

View File

@ -820,6 +820,8 @@
#if __GLIBC_USE (IEC_60559_FUNCS_EXT_C23)
/* Cosine of pi * X. */
# define cospi(Val) __TGMATH_UNARY_REAL_ONLY (Val, cospi)
/* Sine of pi * X. */
# define sinpi(Val) __TGMATH_UNARY_REAL_ONLY (Val, sinpi)
#endif
/* Hyperbolic functions. */

View File

@ -1642,6 +1642,30 @@ float: 3
float128: 4
ldouble: 5
Function: "sinpi":
double: 1
float: 1
float128: 1
ldouble: 1
Function: "sinpi_downward":
double: 2
float: 2
float128: 2
ldouble: 2
Function: "sinpi_towardzero":
double: 2
float: 1
float128: 1
ldouble: 1
Function: "sinpi_upward":
double: 2
float: 2
float128: 2
ldouble: 2
Function: "tan":
float128: 1
ldouble: 2

View File

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

View File

@ -187,6 +187,7 @@ libnldbl-calls = \
sin \
sincos \
sinh \
sinpi \
snprintf \
snprintf_chk \
sprintf \
@ -378,6 +379,7 @@ CFLAGS-nldbl-significand.c = -fno-builtin-significandl
CFLAGS-nldbl-sin.c = -fno-builtin-sinl
CFLAGS-nldbl-sincos.c = -fno-builtin-sincosl
CFLAGS-nldbl-sinh.c = -fno-builtin-sinhl
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

View File

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

View File

@ -1229,3 +1229,11 @@ GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospif64x F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif128 F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F

View File

@ -1086,3 +1086,11 @@ GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospif64x F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif128 F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F

View File

@ -57,4 +57,5 @@ CFLAGS-s_fminimum_magl.c += -fno-builtin-fabsl
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
endif

View File

@ -1197,3 +1197,11 @@ GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospif64x F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif128 F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F

View File

@ -1356,3 +1356,11 @@ GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospif64x F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif128 F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F

View File

@ -793,3 +793,9 @@ GLIBC_2.41 cospif32 F
GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F

View File

@ -884,3 +884,9 @@ GLIBC_2.41 cospif32 F
GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F

View File

@ -884,3 +884,9 @@ GLIBC_2.41 cospif32 F
GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F

View File

@ -859,3 +859,9 @@ GLIBC_2.41 cospif32 F
GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F

View File

@ -884,3 +884,9 @@ GLIBC_2.41 cospif32 F
GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F

View File

@ -1236,3 +1236,11 @@ GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospif64x F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif128 F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F

View File

@ -1076,3 +1076,11 @@ GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospif64x F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif128 F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F

View File

@ -884,3 +884,9 @@ GLIBC_2.41 cospif32 F
GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F

View File

@ -920,3 +920,9 @@ GLIBC_2.41 cospif32 F
GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F

View File

@ -884,3 +884,9 @@ GLIBC_2.41 cospif32 F
GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F

View File

@ -884,3 +884,9 @@ GLIBC_2.41 cospif32 F
GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F

View File

@ -884,3 +884,9 @@ GLIBC_2.41 cospif32 F
GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F

View File

@ -1197,3 +1197,11 @@ GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospif64x F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif128 F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F

View File

@ -793,3 +793,9 @@ GLIBC_2.41 cospif32 F
GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F

View File

@ -1031,3 +1031,9 @@ GLIBC_2.41 cospif32 F
GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F

View File

@ -1030,3 +1030,9 @@ GLIBC_2.41 cospif32 F
GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F

View File

@ -1024,3 +1024,9 @@ GLIBC_2.41 cospif32 F
GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F

View File

@ -1367,6 +1367,7 @@ GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1f64x F
GLIBC_2.40 logp1l F
GLIBC_2.41 __cospiieee128 F
GLIBC_2.41 __sinpiieee128 F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F
@ -1375,3 +1376,11 @@ GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospif64x F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif128 F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F

View File

@ -1076,3 +1076,11 @@ GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospif64x F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif128 F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F

View File

@ -1173,3 +1173,11 @@ GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospif64x F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif128 F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F

View File

@ -1300,3 +1300,11 @@ GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospif64x F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif128 F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F

View File

@ -1300,3 +1300,11 @@ GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospif64x F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif128 F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F

View File

@ -884,3 +884,9 @@ GLIBC_2.41 cospif32 F
GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F

View File

@ -884,3 +884,9 @@ GLIBC_2.41 cospif32 F
GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpil F

View File

@ -1307,3 +1307,11 @@ GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospif64x F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif128 F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F

View File

@ -1197,3 +1197,11 @@ GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospif64x F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif128 F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F

View File

@ -1230,3 +1230,11 @@ GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospif64x F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif128 F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F

View File

@ -1230,3 +1230,11 @@ GLIBC_2.41 cospif32x F
GLIBC_2.41 cospif64 F
GLIBC_2.41 cospif64x F
GLIBC_2.41 cospil F
GLIBC_2.41 sinpi F
GLIBC_2.41 sinpif F
GLIBC_2.41 sinpif128 F
GLIBC_2.41 sinpif32 F
GLIBC_2.41 sinpif32x F
GLIBC_2.41 sinpif64 F
GLIBC_2.41 sinpif64x F
GLIBC_2.41 sinpil F

View File

@ -2159,6 +2159,30 @@ float: 1
Function: "sinh_vlen8_avx2":
float: 1
Function: "sinpi":
double: 1
float: 1
float128: 1
ldouble: 1
Function: "sinpi_downward":
double: 2
float: 2
float128: 2
ldouble: 2
Function: "sinpi_towardzero":
double: 2
float: 1
float128: 1
ldouble: 1
Function: "sinpi_upward":
double: 2
float: 2
float128: 2
ldouble: 2
Function: "tan":
float128: 1
ldouble: 2