Update.
1999-10-19 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/fpu/s_nextafterl.c: Add __nextafterl and nextafterl aliases. * sysdeps/ieee754/flt-32/e_lgammaf_r.c: Don't handle -Inf special. * sysdeps/ieee754/flt-32/e_gammaf_r.c (__ieee754_gammaf_r): Check for -Inf and return NaN. * math/gen-libm-test.pl: Fix program name in help message. * math/libm-test.inc (check_complex): It's Imaginary, not Complex. * math/libm-test.inc (gamma_test): Result of gamma(-inf) is +inf. * sysdeps/i386/Implies: Correct order of libm directories.
This commit is contained in:
parent
fe559c5e1c
commit
f30e0cd35e
18
ChangeLog
18
ChangeLog
@ -1,3 +1,21 @@
|
||||
1999-10-19 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* sysdeps/i386/fpu/s_nextafterl.c: Add __nextafterl and nextafterl
|
||||
aliases.
|
||||
|
||||
* sysdeps/ieee754/flt-32/e_lgammaf_r.c: Don't handle -Inf special.
|
||||
|
||||
* sysdeps/ieee754/flt-32/e_gammaf_r.c (__ieee754_gammaf_r): Check
|
||||
for -Inf and return NaN.
|
||||
|
||||
* math/gen-libm-test.pl: Fix program name in help message.
|
||||
|
||||
* math/libm-test.inc (check_complex): It's Imaginary, not Complex.
|
||||
|
||||
* math/libm-test.inc (gamma_test): Result of gamma(-inf) is +inf.
|
||||
|
||||
* sysdeps/i386/Implies: Correct order of libm directories.
|
||||
|
||||
1999-10-19 Andreas Jaeger <aj@suse.de>
|
||||
|
||||
* include/bits/ipc.h: Remove K&R compatibility.
|
||||
|
@ -164,7 +164,7 @@ main (int argc, char *argv[])
|
||||
if (remaining == argc)
|
||||
{
|
||||
if (process_file (cd, stdin, output) != 0)
|
||||
status = 1;
|
||||
status = EXIT_FAILURE;
|
||||
}
|
||||
else
|
||||
do
|
||||
|
@ -79,7 +79,7 @@ $ulps_file = 'libm-test-ulps';
|
||||
$output_dir = '';
|
||||
|
||||
if ($opt_h) {
|
||||
print "Usage: generate.pl [OPTIONS]\n";
|
||||
print "Usage: gen-libm-test.pl [OPTIONS]\n";
|
||||
print " -h print this help, then exit\n";
|
||||
print " -o DIR directory where generated files will be placed\n";
|
||||
print " -n generate sorted file NewUlps from libm-test-ulps\n";
|
||||
|
@ -466,7 +466,7 @@ check_complex (const char *test_name, FLOAT __complex__ computed,
|
||||
part_exp = __real__ expected;
|
||||
check_float (str, part_comp, part_exp, max_ulp, xfail, exception);
|
||||
|
||||
sprintf (str, "Complex part of: %s", test_name);
|
||||
sprintf (str, "Imaginary part of: %s", test_name);
|
||||
part_comp = __imag__ computed;
|
||||
part_exp = __imag__ expected;
|
||||
/* Don't check again for exceptions, just pass through the
|
||||
@ -2384,13 +2384,13 @@ gamma_test (void)
|
||||
TEST_f_f (gamma, plus_infty, plus_infty);
|
||||
TEST_f_f (gamma, 0, plus_infty, DIVIDE_BY_ZERO_EXCEPTION);
|
||||
TEST_f_f (gamma, -3, plus_infty, DIVIDE_BY_ZERO_EXCEPTION);
|
||||
TEST_f_f (gamma, minus_infty, nan_value, INVALID_EXCEPTION);
|
||||
TEST_f_f (gamma, minus_infty, plus_infty);
|
||||
|
||||
TEST_f_f1 (gamma, 1, 0, 1);
|
||||
TEST_f_f1 (gamma, 3, M_LN2l, 1);
|
||||
|
||||
TEST_f_f1 (gamma, 0.5, M_LOG_SQRT_PIl, 1);
|
||||
TEST_f_f1 (gamma, -0.5, M_LOG_2_SQRT_PIl,-1);
|
||||
TEST_f_f1 (gamma, -0.5, M_LOG_2_SQRT_PIl, -1);
|
||||
|
||||
END (gamma);
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
wordsize-32
|
||||
ieee754/flt-32
|
||||
ieee754/dbl-64
|
||||
ieee754/ldbl-96
|
||||
ieee754/dbl-64
|
||||
ieee754/flt-32
|
||||
|
@ -100,3 +100,5 @@ static char rcsid[] = "$NetBSD: $";
|
||||
return x;
|
||||
}
|
||||
weak_alias (__nextafterl, nextafterl)
|
||||
strong_alias (__nextafterl, __nexttowardl)
|
||||
weak_alias (__nextafterl, nexttowardl)
|
||||
|
@ -1,920 +0,0 @@
|
||||
# Begin of automatic generation
|
||||
|
||||
# acos
|
||||
Test "acos (0.7) == 0.7953988301841435554":
|
||||
ildouble: 1149
|
||||
ldouble: 1149
|
||||
|
||||
# asin
|
||||
Test "asin (0.7) == 0.7753974966107530637":
|
||||
double: 1
|
||||
ildouble: 1147
|
||||
ldouble: 1147
|
||||
|
||||
# asinh
|
||||
Test "asinh (-0) == -0":
|
||||
idouble: 0
|
||||
ifloat: 0
|
||||
ildouble: 0
|
||||
Test "asinh (0.7) == 0.652666566082355786":
|
||||
ildouble: 656
|
||||
ldouble: 656
|
||||
|
||||
# atan
|
||||
Test "atan (0.7) == 0.6107259643892086165":
|
||||
ildouble: 549
|
||||
ldouble: 549
|
||||
|
||||
# atan2
|
||||
Test "atan2 (0.4, 0.0003) == 1.5700463269355215718":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
Test "atan2 (0.7, 1) == 0.6107259643892086165":
|
||||
ildouble: 549
|
||||
ldouble: 549
|
||||
|
||||
# atanh
|
||||
Test "atanh (-0) == -0":
|
||||
idouble: 0
|
||||
ifloat: 0
|
||||
ildouble: 0
|
||||
Test "atanh (0.7) == 0.8673005276940531944":
|
||||
double: 1
|
||||
idouble: 1
|
||||
ildouble: 1605
|
||||
ldouble: 1605
|
||||
|
||||
# cabs
|
||||
Test "cabs (-0.7 + 12.4 i) == 12.41974234837422060118":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "cabs (-0.7 - 12.4 i) == 12.41974234837422060118":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "cabs (-12.4 + 0.7 i) == 12.41974234837422060118":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "cabs (-12.4 - 0.7 i) == 12.41974234837422060118":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "cabs (0.7 + 1.2 i) == 1.3892443989449804508":
|
||||
double: 1
|
||||
idouble: 1
|
||||
ildouble: 560
|
||||
ldouble: 560
|
||||
Test "cabs (0.7 + 12.4 i) == 12.41974234837422060118":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
|
||||
# cbrt
|
||||
Test "cbrt (-0.001) == -0.1":
|
||||
ildouble: 716
|
||||
ldouble: 716
|
||||
Test "cbrt (-27.0) == -3.0":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
Test "cbrt (0.7) == 0.8879040017426007084":
|
||||
double: 1
|
||||
idouble: 1
|
||||
ildouble: 346
|
||||
ldouble: 346
|
||||
Test "cbrt (0.970299) == 0.99":
|
||||
ildouble: 306
|
||||
ldouble: 306
|
||||
|
||||
# cos
|
||||
Test "cos (0.7) == 0.7648421872844884262":
|
||||
double: 1
|
||||
idouble: 1
|
||||
ildouble: 529
|
||||
ldouble: 529
|
||||
Test "cos (M_PI_6l * 2.0) == 0.5":
|
||||
double: 1
|
||||
float: 0.5
|
||||
idouble: 1
|
||||
ifloat: 0.5
|
||||
Test "cos (M_PI_6l * 4.0) == -0.5":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 0.5
|
||||
ldouble: 0.5
|
||||
Test "cos (pi/2) == 0":
|
||||
double: 0.2758
|
||||
float: 0.3667
|
||||
idouble: 0.2758
|
||||
ifloat: 0.3667
|
||||
ildouble: 0.25
|
||||
ldouble: 0.25
|
||||
|
||||
# cosh
|
||||
Test "cosh (0.7) == 1.255169005630943018":
|
||||
ildouble: 309
|
||||
ldouble: 309
|
||||
|
||||
# erfc
|
||||
Test "erfc (0.7) == 0.32219880616258152702":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "erfc (1.2) == 0.089686021770364619762":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "erfc (2.0) == 0.0046777349810472658379":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "erfc (4.1) == 0.67000276540848983727e-8":
|
||||
double: 24
|
||||
float: 12
|
||||
idouble: 24
|
||||
ifloat: 12
|
||||
|
||||
# exp
|
||||
Test "exp (0.7) == 2.0137527074704765216":
|
||||
ildouble: 412
|
||||
ldouble: 412
|
||||
|
||||
# exp10
|
||||
Test "exp10 (-1) == 0.1":
|
||||
ildouble: 818
|
||||
ldouble: 818
|
||||
Test "exp10 (0.7) == 5.0118723362727228500":
|
||||
double: 1
|
||||
idouble: 1
|
||||
ildouble: 1182
|
||||
ldouble: 1182
|
||||
Test "exp10 (3) == 1000":
|
||||
ildouble: 8
|
||||
ldouble: 8
|
||||
|
||||
# exp2
|
||||
Test "exp2 (0.7) == 1.6245047927124710452":
|
||||
ildouble: 462
|
||||
ldouble: 462
|
||||
|
||||
# expm1
|
||||
Test "expm1 (-0) == -0":
|
||||
idouble: 0
|
||||
ifloat: 0
|
||||
ildouble: 0
|
||||
Test "expm1 (0.7) == 1.0137527074704765216":
|
||||
ildouble: 825
|
||||
ldouble: 825
|
||||
|
||||
# fmod
|
||||
Test "fmod (-6.5, -2.3) == -1.9":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 4096
|
||||
ldouble: 4096
|
||||
Test "fmod (-6.5, 2.3) == -1.9":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 4096
|
||||
ldouble: 4096
|
||||
Test "fmod (6.5, -2.3) == 1.9":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 4096
|
||||
ldouble: 4096
|
||||
Test "fmod (6.5, 2.3) == 1.9":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 4096
|
||||
ldouble: 4096
|
||||
|
||||
# hypot
|
||||
Test "hypot (-0.7, -12.4) == 12.41974234837422060118":
|
||||
float: 1
|
||||
ildouble: 406
|
||||
ldouble: 406
|
||||
Test "hypot (-0.7, 12.4) == 12.41974234837422060118":
|
||||
float: 1
|
||||
ildouble: 406
|
||||
ldouble: 406
|
||||
Test "hypot (-12.4, -0.7) == 12.41974234837422060118":
|
||||
float: 1
|
||||
ildouble: 406
|
||||
ldouble: 406
|
||||
Test "hypot (-12.4, 0.7) == 12.41974234837422060118":
|
||||
float: 1
|
||||
ildouble: 406
|
||||
ldouble: 406
|
||||
Test "hypot (0.7, -12.4) == 12.41974234837422060118":
|
||||
float: 1
|
||||
ildouble: 406
|
||||
ldouble: 406
|
||||
Test "hypot (0.7, 1.2) == 1.3892443989449804508":
|
||||
double: 1
|
||||
ildouble: 560
|
||||
ldouble: 560
|
||||
Test "hypot (0.7, 12.4) == 12.41974234837422060118":
|
||||
float: 1
|
||||
ildouble: 406
|
||||
ldouble: 406
|
||||
Test "hypot (12.4, -0.7) == 12.41974234837422060118":
|
||||
float: 1
|
||||
ildouble: 406
|
||||
ldouble: 406
|
||||
Test "hypot (12.4, 0.7) == 12.41974234837422060118":
|
||||
float: 1
|
||||
ildouble: 406
|
||||
ldouble: 406
|
||||
|
||||
# j0
|
||||
Test "j0 (10.0) == -0.24593576445134833520":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "j0 (2.0) == 0.22389077914123566805":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "j0 (8.0) == 0.17165080713755390609":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
|
||||
# j1
|
||||
Test "j1 (10.0) == 0.043472746168861436670":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "j1 (2.0) == 0.57672480775687338720":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "j1 (8.0) == 0.23463634685391462438":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
|
||||
# jn
|
||||
Test "jn (0, 10.0) == -0.24593576445134833520":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "jn (0, 2.0) == 0.22389077914123566805":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "jn (0, 8.0) == 0.17165080713755390609":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "jn (1, 10.0) == 0.043472746168861436670":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "jn (1, 2.0) == 0.57672480775687338720":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "jn (1, 8.0) == 0.23463634685391462438":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "jn (10, 0.1) == 0.26905328954342155795e-19":
|
||||
double: 4
|
||||
float: 2
|
||||
idouble: 4
|
||||
ifloat: 2
|
||||
Test "jn (10, 0.7) == 0.75175911502153953928e-11":
|
||||
double: 3
|
||||
float: 1
|
||||
idouble: 3
|
||||
ifloat: 1
|
||||
Test "jn (10, 10.0) == 0.20748610663335885770":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "jn (3, 0.1) == 0.000020820315754756261429":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "jn (3, 0.7) == 0.0069296548267508408077":
|
||||
double: 2
|
||||
idouble: 2
|
||||
Test "jn (3, 10.0) == 0.058379379305186812343":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
|
||||
# lgamma
|
||||
Test "lgamma (0.7) == 0.26086724653166651439":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "lgamma (1.2) == -0.853740900033158497197e-1":
|
||||
double: 1
|
||||
float: 2
|
||||
idouble: 1
|
||||
ifloat: 2
|
||||
|
||||
# log
|
||||
Test "log (0.7) == -0.35667494393873237891":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
ildouble: 2341
|
||||
ldouble: 2341
|
||||
Test "log (e) == 1":
|
||||
float: 0.5
|
||||
ifloat: 0.5
|
||||
|
||||
# log10
|
||||
Test "log10 (0.7) == -0.15490195998574316929":
|
||||
double: 1
|
||||
idouble: 1
|
||||
ildouble: 2033
|
||||
ldouble: 2033
|
||||
Test "log10 (e) == log10(e)":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
|
||||
# log1p
|
||||
Test "log1p (-0.3) == -0.35667494393873237891":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
ildouble: 585
|
||||
ldouble: 585
|
||||
|
||||
# log2
|
||||
Test "log2 (0.7) == -0.51457317282975824043":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
ildouble: 1688
|
||||
ldouble: 1688
|
||||
|
||||
# pow
|
||||
Test "pow (-0, 1) == -0":
|
||||
idouble: 0
|
||||
ifloat: 0
|
||||
ildouble: 0
|
||||
Test "pow (-0, 11) == -0":
|
||||
idouble: 0
|
||||
ifloat: 0
|
||||
ildouble: 0
|
||||
Test "pow (-0, 27) == -0":
|
||||
idouble: 0
|
||||
ifloat: 0
|
||||
ildouble: 0
|
||||
Test "pow (0.7, 1.2) == 0.65180494056638638188":
|
||||
ildouble: 725
|
||||
ldouble: 725
|
||||
|
||||
# sin
|
||||
Test "sin (0.7) == 0.64421768723769105367":
|
||||
ildouble: 627
|
||||
ldouble: 627
|
||||
|
||||
# sincos
|
||||
Test "sincos (0.7, &sin_res, &cos_res) puts 0.64421768723769105367 in sin_res":
|
||||
ildouble: 627
|
||||
ldouble: 627
|
||||
Test "sincos (0.7, &sin_res, &cos_res) puts 0.76484218728448842626 in cos_res":
|
||||
double: 1
|
||||
idouble: 1
|
||||
ildouble: 528
|
||||
ldouble: 528
|
||||
Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.5 in cos_res":
|
||||
double: 1
|
||||
float: 0.5
|
||||
idouble: 1
|
||||
ifloat: 0.5
|
||||
Test "sincos (M_PI_6l*2.0, &sin_res, &cos_res) puts 0.866025403784438646764 in sin_res":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
Test "sincos (pi/2, &sin_res, &cos_res) puts 0 in cos_res":
|
||||
double: 0.2758
|
||||
float: 0.3667
|
||||
idouble: 0.2758
|
||||
ifloat: 0.3667
|
||||
ildouble: 0.25
|
||||
ldouble: 0.25
|
||||
|
||||
# sinh
|
||||
Test "sinh (-0) == -0":
|
||||
idouble: 0
|
||||
ifloat: 0
|
||||
ildouble: 0
|
||||
Test "sinh (0.7) == 0.75858370183953350346":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
ildouble: 1028
|
||||
ldouble: 1029
|
||||
|
||||
# sqrt
|
||||
Test "sqrt (0.7) == 0.83666002653407554798":
|
||||
ildouble: 489
|
||||
ldouble: 489
|
||||
Test "sqrt (15239.9025) == 123.45":
|
||||
ildouble: 325
|
||||
ldouble: 325
|
||||
|
||||
# tan
|
||||
Test "tan (0.7) == 0.84228838046307944813":
|
||||
ildouble: 1401
|
||||
ldouble: 1401
|
||||
Test "tan (pi/4) == 1":
|
||||
double: 0.5
|
||||
idouble: 0.5
|
||||
|
||||
# tanh
|
||||
Test "tanh (-0) == -0":
|
||||
idouble: 0
|
||||
ifloat: 0
|
||||
ildouble: 0
|
||||
Test "tanh (0.7) == 0.60436777711716349631":
|
||||
ildouble: 521
|
||||
ldouble: 521
|
||||
|
||||
# tgamma
|
||||
Test "tgamma (-0.5) == -2 sqrt (pi)":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "tgamma (0.5) == sqrt (pi)":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "tgamma (0.7) == 1.29805533264755778568":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
|
||||
# y0
|
||||
Test "y0 (0.1) == -1.5342386513503668441":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "y0 (0.7) == -0.19066492933739506743":
|
||||
double: 2
|
||||
idouble: 2
|
||||
Test "y0 (1.0) == 0.088256964215676957983":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "y0 (1.5) == 0.38244892379775884396":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "y0 (10.0) == 0.055671167283599391424":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "y0 (8.0) == 0.22352148938756622053":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
|
||||
# y1
|
||||
Test "y1 (0.1) == -6.4589510947020269877":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "y1 (0.7) == -1.1032498719076333697":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "y1 (1.0) == -0.78121282130028871655":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "y1 (1.5) == -0.41230862697391129595":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "y1 (10.0) == 0.24901542420695388392":
|
||||
double: 2
|
||||
float: 2
|
||||
idouble: 2
|
||||
ifloat: 2
|
||||
Test "y1 (2.0) == -0.10703243154093754689":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "y1 (8.0) == -0.15806046173124749426":
|
||||
float: 2
|
||||
ifloat: 2
|
||||
|
||||
# yn
|
||||
Test "yn (0, 0.1) == -1.5342386513503668441":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "yn (0, 0.7) == -0.19066492933739506743":
|
||||
double: 2
|
||||
idouble: 2
|
||||
Test "yn (0, 1.0) == 0.088256964215676957983":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "yn (0, 1.5) == 0.38244892379775884396":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "yn (0, 10.0) == 0.055671167283599391424":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "yn (0, 8.0) == 0.22352148938756622053":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "yn (1, 0.1) == -6.4589510947020269877":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "yn (1, 0.7) == -1.1032498719076333697":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "yn (1, 1.0) == -0.78121282130028871655":
|
||||
double: 1
|
||||
idouble: 1
|
||||
Test "yn (1, 1.5) == -0.41230862697391129595":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "yn (1, 10.0) == 0.24901542420695388392":
|
||||
double: 2
|
||||
float: 2
|
||||
idouble: 2
|
||||
ifloat: 2
|
||||
Test "yn (1, 2.0) == -0.10703243154093754689":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "yn (1, 8.0) == -0.15806046173124749426":
|
||||
float: 2
|
||||
ifloat: 2
|
||||
Test "yn (10, 0.1) == -0.11831335132045197885e19":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
Test "yn (10, 0.7) == -0.42447194260703866924e10":
|
||||
double: 6
|
||||
float: 3
|
||||
idouble: 6
|
||||
ifloat: 3
|
||||
Test "yn (10, 1.0) == -0.12161801427868918929e9":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "yn (10, 10.0) == -0.35981415218340272205":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "yn (10, 2.0) == -129184.54220803928264":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
Test "yn (3, 0.1) == -5099.3323786129048894":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
Test "yn (3, 0.7) == -15.819479052819633505":
|
||||
double: 2
|
||||
idouble: 2
|
||||
Test "yn (3, 10.0) == -0.25136265718383732978":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
|
||||
# Maximal error of functions:
|
||||
Function "acos":
|
||||
ildouble: 1149
|
||||
ldouble: 1149
|
||||
|
||||
Function "asin":
|
||||
double: 1
|
||||
ildouble: 1147
|
||||
ldouble: 1147
|
||||
|
||||
Function "asinh":
|
||||
ildouble: 656
|
||||
ldouble: 656
|
||||
|
||||
Function "atan":
|
||||
ildouble: 549
|
||||
ldouble: 549
|
||||
|
||||
Function "atan2":
|
||||
ildouble: 549
|
||||
ldouble: 549
|
||||
|
||||
Function "atanh":
|
||||
double: 1
|
||||
idouble: 1
|
||||
ildouble: 1605
|
||||
ldouble: 1605
|
||||
|
||||
Function "cabs":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
ildouble: 560
|
||||
ldouble: 560
|
||||
|
||||
Function "cacos":
|
||||
double: 1
|
||||
float: 2
|
||||
idouble: 1
|
||||
ifloat: 2
|
||||
ildouble: 329
|
||||
ldouble: 329
|
||||
|
||||
Function "cacosh":
|
||||
double: 1
|
||||
float: 4
|
||||
idouble: 1
|
||||
ifloat: 4
|
||||
ildouble: 328
|
||||
ldouble: 328
|
||||
|
||||
Function "casin":
|
||||
double: 3
|
||||
float: 2
|
||||
idouble: 3
|
||||
ifloat: 2
|
||||
ildouble: 603
|
||||
ldouble: 603
|
||||
|
||||
Function "casinh":
|
||||
double: 5
|
||||
float: 6
|
||||
idouble: 5
|
||||
ifloat: 6
|
||||
ildouble: 892
|
||||
ldouble: 892
|
||||
|
||||
Function "catan":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
ildouble: 474
|
||||
ldouble: 474
|
||||
|
||||
Function "catanh":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 447
|
||||
ldouble: 447
|
||||
|
||||
Function "cbrt":
|
||||
double: 1
|
||||
idouble: 1
|
||||
ildouble: 716
|
||||
ldouble: 716
|
||||
|
||||
Function "ccos":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
ildouble: 1901
|
||||
ldouble: 1901
|
||||
|
||||
Function "ccosh":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
ildouble: 1467
|
||||
ldouble: 1467
|
||||
|
||||
Function "cexp":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
ildouble: 1067
|
||||
ldouble: 1067
|
||||
|
||||
Function "clog":
|
||||
ildouble: 1
|
||||
ldouble: 1
|
||||
|
||||
Function "clog10":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 1402
|
||||
ldouble: 1402
|
||||
|
||||
Function "cos":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 529
|
||||
ldouble: 529
|
||||
|
||||
Function "cosh":
|
||||
ildouble: 309
|
||||
ldouble: 309
|
||||
|
||||
Function "cpow":
|
||||
double: 1.103
|
||||
float: 4
|
||||
idouble: 1.103
|
||||
ifloat: 4
|
||||
ildouble: 2
|
||||
ldouble: 2
|
||||
|
||||
Function "csin":
|
||||
ildouble: 966
|
||||
ldouble: 966
|
||||
|
||||
Function "csinh":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
ildouble: 477
|
||||
ldouble: 477
|
||||
|
||||
Function "csqrt":
|
||||
double: 1
|
||||
idouble: 1
|
||||
ildouble: 237
|
||||
ldouble: 237
|
||||
|
||||
Function "ctan":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
ildouble: 690
|
||||
ldouble: 690
|
||||
|
||||
Function "ctanh":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
ildouble: 3074
|
||||
ldouble: 3074
|
||||
|
||||
Function "erfc":
|
||||
double: 24
|
||||
float: 12
|
||||
idouble: 24
|
||||
ifloat: 12
|
||||
|
||||
Function "exp":
|
||||
ildouble: 412
|
||||
ldouble: 412
|
||||
|
||||
Function "exp10":
|
||||
double: 1
|
||||
idouble: 1
|
||||
ildouble: 1182
|
||||
ldouble: 1182
|
||||
|
||||
Function "exp2":
|
||||
ildouble: 462
|
||||
ldouble: 462
|
||||
|
||||
Function "expm1":
|
||||
ildouble: 825
|
||||
ldouble: 825
|
||||
|
||||
Function "fmod":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
ildouble: 4096
|
||||
ldouble: 4096
|
||||
|
||||
Function "hypot":
|
||||
double: 1
|
||||
float: 1
|
||||
ildouble: 560
|
||||
ldouble: 560
|
||||
|
||||
Function "j0":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
|
||||
Function "j1":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
|
||||
Function "jn":
|
||||
double: 4
|
||||
float: 2
|
||||
idouble: 4
|
||||
ifloat: 2
|
||||
|
||||
Function "lgamma":
|
||||
double: 1
|
||||
float: 2
|
||||
idouble: 1
|
||||
ifloat: 2
|
||||
|
||||
Function "log":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
ildouble: 2341
|
||||
ldouble: 2341
|
||||
|
||||
Function "log10":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
ildouble: 2033
|
||||
ldouble: 2033
|
||||
|
||||
Function "log1p":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
ildouble: 585
|
||||
ldouble: 585
|
||||
|
||||
Function "log2":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
ildouble: 1688
|
||||
ldouble: 1688
|
||||
|
||||
Function "pow":
|
||||
ildouble: 725
|
||||
ldouble: 725
|
||||
|
||||
Function "sin":
|
||||
ildouble: 627
|
||||
ldouble: 627
|
||||
|
||||
Function "sincos":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
ildouble: 627
|
||||
ldouble: 627
|
||||
|
||||
Function "sinh":
|
||||
float: 1
|
||||
ifloat: 1
|
||||
ildouble: 1028
|
||||
ldouble: 1029
|
||||
|
||||
Function "sqrt":
|
||||
ildouble: 489
|
||||
ldouble: 489
|
||||
|
||||
Function "tan":
|
||||
double: 0.5
|
||||
idouble: 0.5
|
||||
ildouble: 1401
|
||||
ldouble: 1401
|
||||
|
||||
Function "tanh":
|
||||
ildouble: 521
|
||||
ldouble: 521
|
||||
|
||||
Function "tgamma":
|
||||
double: 1
|
||||
float: 1
|
||||
idouble: 1
|
||||
ifloat: 1
|
||||
|
||||
Function "y0":
|
||||
double: 2
|
||||
float: 1
|
||||
idouble: 2
|
||||
ifloat: 1
|
||||
|
||||
Function "y1":
|
||||
double: 2
|
||||
float: 2
|
||||
idouble: 2
|
||||
ifloat: 2
|
||||
|
||||
Function "yn":
|
||||
double: 6
|
||||
float: 3
|
||||
idouble: 6
|
||||
ifloat: 3
|
||||
|
||||
# end of automatic generation
|
@ -44,6 +44,9 @@ __ieee754_gammaf_r (float x, int *signgamp)
|
||||
*signgamp = 0;
|
||||
return (x - x) / (x - x);
|
||||
}
|
||||
if (hx == 0xff800000)
|
||||
/* x == -Inf. According to ISO this is NaN. */
|
||||
return x - x;
|
||||
|
||||
/* XXX FIXME. */
|
||||
return __ieee754_expf (__ieee754_lgammaf_r (x, signgamp));
|
||||
|
@ -162,8 +162,6 @@ static float zero= 0.0000000000e+00;
|
||||
|
||||
/* purge off +-inf, NaN, +-0, and negative arguments */
|
||||
*signgamp = 1;
|
||||
if ((unsigned int)hx==0xff800000)
|
||||
return x-x;
|
||||
ix = hx&0x7fffffff;
|
||||
if(ix>=0x7f800000) return x*x;
|
||||
if(ix==0) return one/fabsf(x);
|
||||
|
Loading…
x
Reference in New Issue
Block a user