mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-14 13:00:20 +00:00
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:
parent
062257c5d9
commit
f9e90e4b4c
2
NEWS
2
NEWS
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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
|
||||
|
||||
|
9058
math/auto-libm-test-out-tanpi
Normal file
9058
math/auto-libm-test-out-tanpi
Normal file
File diff suppressed because it is too large
Load Diff
@ -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. */
|
||||
|
@ -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),
|
||||
|
@ -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
89
math/libm-test-tanpi.inc
Normal 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
65
math/s_tanpi_template.c
Normal 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);
|
@ -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)
|
||||
{
|
||||
|
@ -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. */
|
||||
|
@ -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
|
||||
|
@ -147,6 +147,7 @@ libm {
|
||||
GLIBC_2.41 {
|
||||
__cospiieee128;
|
||||
__sinpiieee128;
|
||||
__tanpiieee128;
|
||||
}
|
||||
}
|
||||
libc {
|
||||
|
@ -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
|
||||
|
8
sysdeps/ieee754/ldbl-opt/nldbl-tanpi.c
Normal file
8
sysdeps/ieee754/ldbl-opt/nldbl-tanpi.c
Normal file
@ -0,0 +1,8 @@
|
||||
#include "nldbl-compat.h"
|
||||
|
||||
double
|
||||
attribute_hidden
|
||||
tanpil (double x)
|
||||
{
|
||||
return tanpi (x);
|
||||
}
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user