Implement C23 asinpi

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

Tested for x86_64 and x86, and with build-many-glibcs.py.
This commit is contained in:
Joseph Myers 2024-12-10 20:42:20 +00:00
parent a9944a52c9
commit f962932206
51 changed files with 2921 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: acospi, cospi, sinpi, tanpi.
- Trigonometric functions: acospi, asinpi, 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

@ -442,6 +442,23 @@ Logarithms}.)
If both @var{x} and @var{y} are zero, @code{atan2} returns zero.
@end deftypefun
@deftypefun double asinpi (double @var{x})
@deftypefunx float asinpif (float @var{x})
@deftypefunx {long double} asinpil (long double @var{x})
@deftypefunx _FloatN asinpifN (_Float@var{N} @var{x})
@deftypefunx _FloatNx asinpifNx (_Float@var{N}x @var{x})
@standards{TS 18661-4:2015, math.h}
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
These functions compute the arcsine of @var{x}, divided by pi. The
result is in the interval between @code{-0.5} and @code{0.5} (inclusive).
The arcsine function is defined mathematically only over the domain
@code{-1} to @code{1}. If @var{x} is outside the domain,
@code{asinpi} signals a domain error.
The @code{asinpi} functions are from TS 18661-4:2015.
@end deftypefun
@deftypefun double acospi (double @var{x})
@deftypefunx float acospif (float @var{x})
@deftypefunx {long double} acospil (long double @var{x})

View file

@ -94,6 +94,7 @@ gen-libm-calls = \
k_casinhF \
k_casinhF \
s_acospiF \
s_asinpiF \
s_cacosF \
s_cacoshF \
s_canonicalizeF \
@ -621,6 +622,7 @@ libm-test-funcs-auto = \
acospi \
asin \
asinh \
asinpi \
atan \
atan2 \
atanh \
@ -930,6 +932,7 @@ tgmath3-macros = \
acospi \
asin \
asinh \
asinpi \
atan \
atan2 \
atanh \
@ -1313,6 +1316,7 @@ CFLAGS-w_acosh.c += -fno-builtin-acoshl
CFLAGS-s_acospi.c += -fno-builtin-acospil
CFLAGS-w_asin.c += -fno-builtin-asinl
CFLAGS-s_asinh.c += -fno-builtin-asinhl
CFLAGS-s_asinpi.c += -fno-builtin-asinpil
CFLAGS-s_atan.c += -fno-builtin-atanl
CFLAGS-w_atan2.c += -fno-builtin-atan2l
CFLAGS-w_atanh.c += -fno-builtin-atanhl
@ -1455,6 +1459,7 @@ CFLAGS-w_acosh.c += -fno-builtin-acoshf32x -fno-builtin-acoshf64
CFLAGS-s_acospi.c += -fno-builtin-acospif32x -fno-builtin-acospif64
CFLAGS-w_asin.c += -fno-builtin-asinf32x -fno-builtin-asinf64
CFLAGS-s_asinh.c += -fno-builtin-asinhf32x -fno-builtin-asinhf64
CFLAGS-s_asinpi.c += -fno-builtin-asinpif32x -fno-builtin-asinpif64
CFLAGS-s_atan.c += -fno-builtin-atanf32x -fno-builtin-atanf64
CFLAGS-w_atan2.c += -fno-builtin-atan2f32x -fno-builtin-atan2f64
CFLAGS-w_atanh.c += -fno-builtin-atanhf32x -fno-builtin-atanhf64
@ -1583,6 +1588,7 @@ CFLAGS-w_acoshf.c += -fno-builtin-acoshf32
CFLAGS-s_acospif.c += -fno-builtin-acospif32
CFLAGS-w_asinf.c += -fno-builtin-asinf32
CFLAGS-s_asinhf.c += -fno-builtin-asinhf32
CFLAGS-s_asinpif.c += -fno-builtin-asinpif32
CFLAGS-s_atanf.c += -fno-builtin-atanf32
CFLAGS-w_atan2f.c += -fno-builtin-atan2f32
CFLAGS-w_atanhf.c += -fno-builtin-atanhf32

View file

@ -656,11 +656,13 @@ libm {
GLIBC_2.41 {
# Functions not involving _Float64x or _Float128, for all configurations.
acospi; acospif; acospil; acospif32; acospif64; acospif32x;
asinpi; asinpif; asinpil; asinpif32; asinpif64; asinpif32x;
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.
acospif64x; acospif128;
asinpif64x; asinpif128;
cospif64x; cospif128;
sinpif64x; sinpif128;
tanpif64x; tanpif128;

View file

@ -464,6 +464,57 @@ asinh -min_subnorm
asinh max
asinh -max
asinpi 0
asinpi -0
asinpi 0.5
asinpi -0.5
asinpi 1.0
asinpi -1.0
asinpi 0.75
asinpi 0x0.ffffffp0
asinpi -0x0.ffffffp0
asinpi 0x0.ffffffff8p0
asinpi -0x0.ffffffff8p0
asinpi 0x0.ffffffffffffp0
asinpi -0x0.ffffffffffffp0
asinpi 0x0.fffffffffffff8p0
asinpi -0x0.fffffffffffff8p0
asinpi 0x0.ffffffffffffffffp0
asinpi -0x0.ffffffffffffffffp0
asinpi 0x0.ffffffffffffffffffffffffffcp0
asinpi -0x0.ffffffffffffffffffffffffffcp0
asinpi 0x0.ffffffffffffffffffffffffffff8p0
asinpi -0x0.ffffffffffffffffffffffffffff8p0
asinpi 0x1p-5
asinpi 0x1p-10
asinpi 0x1p-15
asinpi 0x1p-20
asinpi 0x1p-25
asinpi 0x1p-30
asinpi 0x1p-35
asinpi 0x1p-40
asinpi 0x1p-45
asinpi 0x1p-50
asinpi 0x1p-55
asinpi 0x1p-60
asinpi 0x1p-100
asinpi 0x1p-600
asinpi 0x1p-10000
asinpi -0x2.18915cp-4
asinpi -0x3.746774p-4
asinpi -0x3.1c54d10e5c844p-4
asinpi 0xf.c9675fa6fe69f12p-4
asinpi -0xa.fc5afp-4
asinpi 0xd.805e5p-4
asinpi -0x2.1a02dcp-4
asinpi -0x8.1c120ac3e495p-4
asinpi -0xb.36dacp-4
asinpi 0x1.f6041ffe89d7dp-4
asinpi min
asinpi -min
asinpi min_subnorm
asinpi -min_subnorm
atan 0
atan -0
atan max

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)
/* Arc cosine of X, divided by pi. */
__MATHCALL (acospi,, (_Mdouble_ __x));
/* Arc sine of X, divided by pi. */
__MATHCALL (asinpi,, (_Mdouble_ __x));
/* Cosine of pi * X. */
__MATHCALL (cospi,, (_Mdouble_ __x));

View file

@ -535,6 +535,7 @@ static test_function test_functions[] =
FUNC_mpfr_ff_f ("add", mpfr_add, true),
FUNC_mpfr_f_f ("asin", mpfr_asin, false),
FUNC_mpfr_f_f ("asinh", mpfr_asinh, false),
FUNC_mpfr_f_f ("asinpi", mpfr_asinpi, false),
FUNC_mpfr_f_f ("atan", mpfr_atan, false),
FUNC_mpfr_ff_f ("atan2", mpfr_atan2, false),
FUNC_mpfr_f_f ("atanh", mpfr_atanh, false),

View file

@ -743,6 +743,7 @@ class Tests(object):
self.add_tests(prefix + fn, ret, ['r'] * args)
# TS 18661-4 functions.
self.add_tests('acospi', 'r', ['r'])
self.add_tests('asinpi', 'r', ['r'])
self.add_tests('cospi', 'r', ['r'])
self.add_tests('exp10', 'r', ['r'])
self.add_tests('exp2m1', 'r', ['r'])

55
math/libm-test-asinpi.inc Normal file
View file

@ -0,0 +1,55 @@
/* Test asinpi.
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 asinpi_test_data[] =
{
TEST_f_f (asinpi, plus_infty, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
TEST_f_f (asinpi, minus_infty, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
TEST_f_f (asinpi, qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_f_f (asinpi, -qnan_value, qnan_value, NO_INEXACT_EXCEPTION|ERRNO_UNCHANGED),
TEST_f_f (asinpi, snan_value, qnan_value, INVALID_EXCEPTION),
TEST_f_f (asinpi, -snan_value, qnan_value, INVALID_EXCEPTION),
/* asinpi x == qNaN plus invalid exception for |x| > 1. */
TEST_f_f (asinpi, 1.125L, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
TEST_f_f (asinpi, -1.125L, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
TEST_f_f (asinpi, max_value, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
TEST_f_f (asinpi, -max_value, qnan_value, INVALID_EXCEPTION|ERRNO_EDOM),
AUTO_TESTS_f_f (asinpi),
};
static void
asinpi_test (void)
{
ALL_RM_TEST (asinpi, 0, asinpi_test_data, RUN_TEST_LOOP_f_f, END);
}
static void
do_test (void)
{
asinpi_test ();
}
/*
* Local Variables:
* mode:c
* End:
*/

45
math/s_asinpi_template.c Normal file
View file

@ -0,0 +1,45 @@
/* Return arc sine of X, divided by pi.
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-narrow-eval.h>
#include <math_private.h>
#include <math-underflow.h>
FLOAT
M_DECL_FUNC (__asinpi) (FLOAT x)
{
if (__glibc_unlikely (!islessequal (M_FABS (x), M_LIT (1.0))))
{
if (!isnan (x))
__set_errno (EDOM);
return (x - x) / (x - x);
}
FLOAT ret = math_narrow_eval (M_SUF (__ieee754_asin) (x) / M_MLIT (M_PI));
math_check_force_underflow (ret);
if (x != 0 && ret == 0)
__set_errno (ERANGE);
/* Ensure that rounding away from zero for both asin and the
division cannot yield a return value from asinpi with absolute
value greater than 0.5. */
return (isgreater (M_FABS (ret), M_LIT (0.5))
? M_COPYSIGN (M_LIT (0.5), ret)
: ret);
}
declare_mgen_alias (__asinpi, asinpi);

View file

@ -48,7 +48,7 @@ volatile int count_cdouble;
volatile int count_cfloat;
volatile int count_cldouble;
#define NCALLS 176
#define NCALLS 178
#define NCALLS_INT 4
#define NCCALLS 47
@ -237,6 +237,7 @@ F(compile_test) (void)
b = acos (acos (a));
a = sin (sin (x));
b = sinpi (sinpi (x));
b = asinpi (asinpi (a));
b = asin (asin (a));
a = tan (tan (x));
b = tanpi (tanpi (x));
@ -360,6 +361,7 @@ F(compile_test) (void)
a = sin (y);
a = sinpi (y);
a = asin (y);
a = asinpi (y);
a = tan (y);
a = tanpi (y);
a = atan (y);
@ -523,6 +525,14 @@ TYPE
return x;
}
TYPE
(F(asinpi)) (TYPE x)
{
++count;
P ();
return x;
}
TYPE
(F(tan)) (TYPE x)
{

View file

@ -820,6 +820,8 @@
#if __GLIBC_USE (IEC_60559_FUNCS_EXT_C23)
/* Arc cosine of X, divided by pi.. */
# define acospi(Val) __TGMATH_UNARY_REAL_ONLY (Val, acospi)
/* Arc sine of X, divided by pi.. */
# define asinpi(Val) __TGMATH_UNARY_REAL_ONLY (Val, asinpi)
/* Cosine of pi * X. */
# define cospi(Val) __TGMATH_UNARY_REAL_ONLY (Val, cospi)

View file

@ -107,6 +107,30 @@ float: 1
float128: 4
ldouble: 5
Function: "asinpi":
double: 1
float: 1
float128: 1
ldouble: 2
Function: "asinpi_downward":
double: 1
float: 1
float128: 1
ldouble: 2
Function: "asinpi_towardzero":
double: 1
float: 1
float128: 1
ldouble: 2
Function: "asinpi_upward":
double: 1
float: 1
float128: 2
ldouble: 2
Function: "atan":
double: 1
float128: 1

View file

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

View file

@ -17,6 +17,7 @@ libnldbl-calls = \
acospi \
asin \
asinh \
asinpi \
asprintf \
asprintf_chk \
atan \
@ -261,6 +262,7 @@ CFLAGS-nldbl-acosh.c = -fno-builtin-acoshl
CFLAGS-nldbl-acospi.c = -fno-builtin-acospi
CFLAGS-nldbl-asin.c = -fno-builtin-asinl
CFLAGS-nldbl-asinh.c = -fno-builtin-asinhl
CFLAGS-nldbl-asinpi.c = -fno-builtin-asinpil
CFLAGS-nldbl-atan.c = -fno-builtin-atanl
CFLAGS-nldbl-atan2.c = -fno-builtin-atan2l
CFLAGS-nldbl-atanh.c = -fno-builtin-atanhl

View file

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

View file

@ -1229,6 +1229,14 @@ GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif128 F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View file

@ -1086,6 +1086,14 @@ GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif128 F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View file

@ -43,6 +43,7 @@ CFLAGS-s_csqrtl.c += -fno-builtin-fabsl $(config-cflags-signaling-nans)
CFLAGS-w_acosl_compat.c += -fno-builtin-fabsl
CFLAGS-s_acospil.c += -fno-builtin-fabsl
CFLAGS-w_asinl_compat.c += -fno-builtin-fabsl
CFLAGS-s_asinpil.c += -fno-builtin-fabsl
CFLAGS-w_atanhl_compat.c += -fno-builtin-fabsl
CFLAGS-w_j0l_compat.c += -fno-builtin-fabsl
CFLAGS-w_j1l_compat.c += -fno-builtin-fabsl

View file

@ -1197,6 +1197,14 @@ GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif128 F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View file

@ -1356,6 +1356,14 @@ GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif128 F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View file

@ -793,6 +793,12 @@ GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View file

@ -884,6 +884,12 @@ GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View file

@ -884,6 +884,12 @@ GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View file

@ -859,6 +859,12 @@ GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View file

@ -884,6 +884,12 @@ GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View file

@ -1236,6 +1236,14 @@ GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif128 F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View file

@ -1076,6 +1076,14 @@ GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif128 F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View file

@ -884,6 +884,12 @@ GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View file

@ -920,6 +920,12 @@ GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View file

@ -884,6 +884,12 @@ GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View file

@ -884,6 +884,12 @@ GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View file

@ -884,6 +884,12 @@ GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View file

@ -1197,6 +1197,14 @@ GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif128 F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View file

@ -793,6 +793,12 @@ GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View file

@ -1031,6 +1031,12 @@ GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View file

@ -1030,6 +1030,12 @@ GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View file

@ -1024,6 +1024,12 @@ GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 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 __acospiieee128 F
GLIBC_2.41 __asinpiieee128 F
GLIBC_2.41 __cospiieee128 F
GLIBC_2.41 __sinpiieee128 F
GLIBC_2.41 __tanpiieee128 F
@ -1378,6 +1379,14 @@ GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif128 F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View file

@ -1076,6 +1076,14 @@ GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif128 F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View file

@ -1173,6 +1173,14 @@ GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif128 F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View file

@ -1300,6 +1300,14 @@ GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif128 F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View file

@ -1300,6 +1300,14 @@ GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif128 F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View file

@ -884,6 +884,12 @@ GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View file

@ -884,6 +884,12 @@ GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View file

@ -1307,6 +1307,14 @@ GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif128 F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View file

@ -1197,6 +1197,14 @@ GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif128 F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View file

@ -1230,6 +1230,14 @@ GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif128 F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View file

@ -1230,6 +1230,14 @@ GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 asinpi F
GLIBC_2.41 asinpif F
GLIBC_2.41 asinpif128 F
GLIBC_2.41 asinpif32 F
GLIBC_2.41 asinpif32x F
GLIBC_2.41 asinpif64 F
GLIBC_2.41 asinpif64x F
GLIBC_2.41 asinpil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View file

@ -198,6 +198,30 @@ float: 1
Function: "asinh_vlen8_avx2":
float: 1
Function: "asinpi":
double: 1
float: 1
float128: 1
ldouble: 2
Function: "asinpi_downward":
double: 1
float: 1
float128: 1
ldouble: 2
Function: "asinpi_towardzero":
double: 1
float: 1
float128: 1
ldouble: 2
Function: "asinpi_upward":
double: 2
float: 1
float128: 2
ldouble: 2
Function: "atan":
double: 1
float: 1