Implement C23 acospi

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

Tested for x86_64 and x86, and with build-many-glibcs.py.
This commit is contained in:
Joseph Myers 2024-12-09 23:01:29 +00:00
parent be13e46764
commit 28d102d15c
51 changed files with 3632 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, tanpi.
- Trigonometric functions: acospi, 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 acospi (double @var{x})
@deftypefunx float acospif (float @var{x})
@deftypefunx {long double} acospil (long double @var{x})
@deftypefunx _FloatN acospifN (_Float@var{N} @var{x})
@deftypefunx _FloatNx acospifNx (_Float@var{N}x @var{x})
@standards{TS 18661-4:2015, math.h}
@safety{@prelim{}@mtsafe{}@assafe{}@acsafe{}}
These functions compute the arccosine of @var{x}, divided by pi. The
result is in the interval between @code{0} and @code{1} (inclusive).
The arccosine function is defined mathematically only
over the domain @code{-1} to @code{1}. If @var{x} is outside the
domain, @code{acospi} signals a domain error.
The @code{acospi} functions are from TS 18661-4:2015.
@end deftypefun
@cindex inverse complex trigonometric functions
@w{ISO C99} defines complex versions of the inverse trig functions.

View File

@ -93,6 +93,7 @@ gen-libm-calls = \
e_scalbF \
k_casinhF \
k_casinhF \
s_acospiF \
s_cacosF \
s_cacoshF \
s_canonicalizeF \
@ -617,6 +618,7 @@ $(objpfx)libm-test-ulps.h: $(ulps-file) gen-libm-test.py
libm-test-funcs-auto = \
acos \
acosh \
acospi \
asin \
asinh \
atan \
@ -925,6 +927,7 @@ tgmath3-macros = \
$(tgmath3-narrow-macros) \
acos \
acosh \
acospi \
asin \
asinh \
atan \
@ -1307,6 +1310,7 @@ math-CPPFLAGS += -DNO_LONG_DOUBLE
# functions.
CFLAGS-w_acos.c += -fno-builtin-acosl
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_atan.c += -fno-builtin-atanl
@ -1448,6 +1452,7 @@ endif
# Likewise, for _Float32x and _Float64 aliases.
CFLAGS-w_acos.c += -fno-builtin-acosf32x -fno-builtin-acosf64
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_atan.c += -fno-builtin-atanf32x -fno-builtin-atanf64
@ -1575,6 +1580,7 @@ CFLAGS-s_yn.c += -fno-builtin-ynf32x -fno-builtin-ynf64
# Likewise, for _Float32 aliases.
CFLAGS-w_acosf.c += -fno-builtin-acosf32
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_atanf.c += -fno-builtin-atanf32

View File

@ -655,10 +655,12 @@ libm {
}
GLIBC_2.41 {
# Functions not involving _Float64x or _Float128, for all configurations.
acospi; acospif; acospil; acospif32; acospif64; acospif32x;
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;
cospif64x; cospif128;
sinpif64x; sinpif128;
tanpif64x; tanpif128;

View File

@ -88,6 +88,76 @@ acos -min
acos min_subnorm
acos -min_subnorm
acospi 0
acospi -0
acospi 1
acospi -1
acospi 0.5
acospi -0.5
acospi 0.75
acospi 2e-17
acospi 0.0625
acospi 0x0.ffffffp0
acospi -0x0.ffffffp0
acospi 0x0.ffffffff8p0
acospi -0x0.ffffffff8p0
acospi 0x0.ffffffffffffp0
acospi -0x0.ffffffffffffp0
acospi 0x0.fffffffffffff8p0
acospi -0x0.fffffffffffff8p0
acospi 0x0.ffffffffffffffffp0
acospi -0x0.ffffffffffffffffp0
acospi 0x0.ffffffffffffffffffffffffffcp0
acospi -0x0.ffffffffffffffffffffffffffcp0
acospi 0x0.ffffffffffffffffffffffffffff8p0
acospi -0x0.ffffffffffffffffffffffffffff8p0
acospi 0x1p-5
acospi 0x1p-10
acospi 0x1p-15
acospi 0x1p-20
acospi 0x1p-25
acospi 0x1p-30
acospi 0x1p-35
acospi 0x1p-40
acospi 0x1p-45
acospi 0x1p-50
acospi 0x1p-55
acospi 0x1p-60
acospi 0x1p-65
acospi 0x1p-70
acospi 0x1p-75
acospi 0x1p-80
acospi 0x1p-85
acospi 0x1p-90
acospi 0x1p-95
acospi 0x1p-100
acospi 0x1p-105
acospi 0x1p-110
acospi 0x1p-115
acospi 0x1p-120
acospi -0x1p-5
acospi -0x1p-25
acospi -0x1p-45
acospi -0x1p-65
acospi -0x1p-85
acospi -0x1p-105
acospi -0x1p-125
acospi -0x2.0089a4p-4
acospi 0xf.04aeep-4
acospi 0x5.dd258006121b8p-4
acospi -0x2.35f051e70dbc4p-4
acospi 0xe.9a5c0d7fabb9aa1p-4
acospi 0xe.17513589de79b75p-4
acospi 0x3.e57821d368ebap-4
acospi 0x2.0bee8p-4
acospi -0x1.da00d8p-4
acospi 0x1.fffff3634acd6p-1
acospi 0xf.fe00271d507ee5dp-4
acospi min
acospi -min
acospi min_subnorm
acospi -min_subnorm
acosh 1
acosh 0x1.000002p0
acosh 0x1.0000000000001p0

File diff suppressed because it is too large Load Diff

View File

@ -66,6 +66,9 @@ __MATHCALL_VEC (sin,, (_Mdouble_ __x));
__MATHCALL_VEC (tan,, (_Mdouble_ __x));
#if __GLIBC_USE (IEC_60559_FUNCS_EXT_C23)
/* Arc cosine of X, divided by pi. */
__MATHCALL (acospi,, (_Mdouble_ __x));
/* Cosine of pi * X. */
__MATHCALL (cospi,, (_Mdouble_ __x));
/* Sine of pi * X. */

View File

@ -531,6 +531,7 @@ static test_function test_functions[] =
{
FUNC_mpfr_f_f ("acos", mpfr_acos, false),
FUNC_mpfr_f_f ("acosh", mpfr_acosh, false),
FUNC_mpfr_f_f ("acospi", mpfr_acospi, false),
FUNC_mpfr_ff_f ("add", mpfr_add, true),
FUNC_mpfr_f_f ("asin", mpfr_asin, false),
FUNC_mpfr_f_f ("asinh", mpfr_asinh, false),

View File

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

55
math/libm-test-acospi.inc Normal file
View File

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

36
math/s_acospi_template.c Normal file
View File

@ -0,0 +1,36 @@
/* Return arc cosine 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_private.h>
FLOAT
M_DECL_FUNC (__acospi) (FLOAT x)
{
if (__glibc_unlikely (isgreater (M_FABS (x), M_LIT (1.0))))
{
__set_errno (EDOM);
return (x - x) / (x - x);
}
FLOAT ret = M_SUF (__ieee754_acos) (x) / M_MLIT (M_PI);
/* Ensure that rounding upward for both acos and the division cannot
yield a return value from acospi greater than 1. */
return isgreater (ret, M_LIT (1.0)) ? M_LIT (1.0) : ret;
}
declare_mgen_alias (__acospi, acospi);

View File

@ -48,7 +48,7 @@ volatile int count_cdouble;
volatile int count_cfloat;
volatile int count_cldouble;
#define NCALLS 174
#define NCALLS 176
#define NCALLS_INT 4
#define NCCALLS 47
@ -233,6 +233,7 @@ F(compile_test) (void)
a = cos (cos (x));
a = cospi (cospi (x));
b = acospi (acospi (a));
b = acos (acos (a));
a = sin (sin (x));
b = sinpi (sinpi (x));
@ -355,6 +356,7 @@ F(compile_test) (void)
a = cos (y);
a = cospi (y);
a = acos (y);
a = acospi (y);
a = sin (y);
a = sinpi (y);
a = asin (y);
@ -489,6 +491,14 @@ TYPE
return x;
}
TYPE
(F(acospi)) (TYPE x)
{
++count;
P ();
return x;
}
TYPE
(F(sin)) (TYPE x)
{

View File

@ -818,6 +818,9 @@
#define tan(Val) __TGMATH_UNARY_REAL_IMAG (Val, tan, ctan)
#if __GLIBC_USE (IEC_60559_FUNCS_EXT_C23)
/* Arc cosine of X, divided by pi.. */
# define acospi(Val) __TGMATH_UNARY_REAL_ONLY (Val, acospi)
/* Cosine of pi * X. */
# define cospi(Val) __TGMATH_UNARY_REAL_ONLY (Val, cospi)
/* Sine of pi * X. */

View File

@ -39,6 +39,30 @@ double: 1
float128: 3
ldouble: 3
Function: "acospi":
double: 1
float: 1
float128: 1
ldouble: 1
Function: "acospi_downward":
double: 1
float: 1
float128: 1
ldouble: 3
Function: "acospi_towardzero":
double: 1
float: 1
float128: 1
ldouble: 3
Function: "acospi_upward":
double: 1
float: 1
float128: 2
ldouble: 2
Function: "asin":
double: 1
float128: 1

View File

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

View File

@ -14,6 +14,7 @@ extra-libs += libnldbl
libnldbl-calls = \
acos \
acosh \
acospi \
asin \
asinh \
asprintf \
@ -257,6 +258,7 @@ extra-objs += $(addsuffix .oS, $(libnldbl-routines))
CFLAGS-nldbl-acos.c = -fno-builtin-acosl
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-atan.c = -fno-builtin-atanl

View File

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

View File

@ -1221,6 +1221,14 @@ GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1f64x F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif128 F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View File

@ -1078,6 +1078,14 @@ GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1f64x F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif128 F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View File

@ -41,6 +41,7 @@ CFLAGS-s_cospil.c += -fno-builtin-fabsl
CFLAGS-s_csinl.c += -fno-builtin-fabsl $(config-cflags-signaling-nans)
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-w_atanhl_compat.c += -fno-builtin-fabsl
CFLAGS-w_j0l_compat.c += -fno-builtin-fabsl

View File

@ -1189,6 +1189,14 @@ GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1f64x F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif128 F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View File

@ -1348,6 +1348,14 @@ GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1f64x F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif128 F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View File

@ -787,6 +787,12 @@ GLIBC_2.40 logp1f32 F
GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View File

@ -878,6 +878,12 @@ GLIBC_2.40 logp1f32 F
GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View File

@ -878,6 +878,12 @@ GLIBC_2.40 logp1f32 F
GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View File

@ -853,6 +853,12 @@ GLIBC_2.40 logp1f32 F
GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View File

@ -878,6 +878,12 @@ GLIBC_2.40 logp1f32 F
GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View File

@ -1228,6 +1228,14 @@ GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1f64x F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif128 F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View File

@ -1068,6 +1068,14 @@ GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1f64x F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif128 F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View File

@ -878,6 +878,12 @@ GLIBC_2.40 logp1f32 F
GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View File

@ -914,6 +914,12 @@ GLIBC_2.40 logp1f32 F
GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View File

@ -878,6 +878,12 @@ GLIBC_2.40 logp1f32 F
GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View File

@ -878,6 +878,12 @@ GLIBC_2.40 logp1f32 F
GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View File

@ -878,6 +878,12 @@ GLIBC_2.40 logp1f32 F
GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View File

@ -1189,6 +1189,14 @@ GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1f64x F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif128 F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View File

@ -787,6 +787,12 @@ GLIBC_2.40 logp1f32 F
GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View File

@ -1025,6 +1025,12 @@ GLIBC_2.40 logp1f32 F
GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View File

@ -1024,6 +1024,12 @@ GLIBC_2.40 logp1f32 F
GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View File

@ -1018,6 +1018,12 @@ GLIBC_2.40 logp1f32 F
GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View File

@ -1366,9 +1366,18 @@ GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1f64x F
GLIBC_2.40 logp1l F
GLIBC_2.41 __acospiieee128 F
GLIBC_2.41 __cospiieee128 F
GLIBC_2.41 __sinpiieee128 F
GLIBC_2.41 __tanpiieee128 F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif128 F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View File

@ -1068,6 +1068,14 @@ GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1f64x F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif128 F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View File

@ -1165,6 +1165,14 @@ GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1f64x F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif128 F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View File

@ -1292,6 +1292,14 @@ GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1f64x F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif128 F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View File

@ -1292,6 +1292,14 @@ GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1f64x F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif128 F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View File

@ -878,6 +878,12 @@ GLIBC_2.40 logp1f32 F
GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View File

@ -878,6 +878,12 @@ GLIBC_2.40 logp1f32 F
GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif32 F

View File

@ -1299,6 +1299,14 @@ GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1f64x F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif128 F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View File

@ -1189,6 +1189,14 @@ GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1f64x F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif128 F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View File

@ -1222,6 +1222,14 @@ GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1f64x F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif128 F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View File

@ -1222,6 +1222,14 @@ GLIBC_2.40 logp1f32x F
GLIBC_2.40 logp1f64 F
GLIBC_2.40 logp1f64x F
GLIBC_2.40 logp1l F
GLIBC_2.41 acospi F
GLIBC_2.41 acospif F
GLIBC_2.41 acospif128 F
GLIBC_2.41 acospif32 F
GLIBC_2.41 acospif32x F
GLIBC_2.41 acospif64 F
GLIBC_2.41 acospif64x F
GLIBC_2.41 acospil F
GLIBC_2.41 cospi F
GLIBC_2.41 cospif F
GLIBC_2.41 cospif128 F

View File

@ -89,6 +89,30 @@ float: 1
Function: "acosh_vlen8_avx2":
float: 2
Function: "acospi":
double: 1
float: 1
float128: 1
ldouble: 1
Function: "acospi_downward":
double: 1
float: 2
float128: 1
ldouble: 3
Function: "acospi_towardzero":
double: 1
float: 2
float128: 1
ldouble: 3
Function: "acospi_upward":
double: 2
float: 1
float128: 2
ldouble: 2
Function: "asin":
double: 1
float: 1