about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog18
-rw-r--r--iconv/iconv_prog.c2
-rwxr-xr-xmath/gen-libm-test.pl2
-rw-r--r--math/libm-test.inc6
-rw-r--r--sysdeps/i386/Implies4
-rw-r--r--sysdeps/i386/fpu/s_nextafterl.c2
-rw-r--r--sysdeps/i386/libm-test-ulps920
-rw-r--r--sysdeps/ieee754/flt-32/e_gammaf_r.c3
-rw-r--r--sysdeps/ieee754/flt-32/e_lgammaf_r.c2
9 files changed, 30 insertions, 929 deletions
diff --git a/ChangeLog b/ChangeLog
index 688032e486..b4a9313780 100644
--- a/ChangeLog
+++ b/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.
diff --git a/iconv/iconv_prog.c b/iconv/iconv_prog.c
index 3eda49a8db..efa9e24411 100644
--- a/iconv/iconv_prog.c
+++ b/iconv/iconv_prog.c
@@ -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
diff --git a/math/gen-libm-test.pl b/math/gen-libm-test.pl
index 275ba7beaa..7a8c518d3e 100755
--- a/math/gen-libm-test.pl
+++ b/math/gen-libm-test.pl
@@ -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";
diff --git a/math/libm-test.inc b/math/libm-test.inc
index 02b2f985cb..786fc9c5af 100644
--- a/math/libm-test.inc
+++ b/math/libm-test.inc
@@ -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);
 }
diff --git a/sysdeps/i386/Implies b/sysdeps/i386/Implies
index ac22f59f78..3a32442d63 100644
--- a/sysdeps/i386/Implies
+++ b/sysdeps/i386/Implies
@@ -1,4 +1,4 @@
 wordsize-32
-ieee754/flt-32
-ieee754/dbl-64
 ieee754/ldbl-96
+ieee754/dbl-64
+ieee754/flt-32
diff --git a/sysdeps/i386/fpu/s_nextafterl.c b/sysdeps/i386/fpu/s_nextafterl.c
index 4596c6b93c..bca7181c50 100644
--- a/sysdeps/i386/fpu/s_nextafterl.c
+++ b/sysdeps/i386/fpu/s_nextafterl.c
@@ -100,3 +100,5 @@ static char rcsid[] = "$NetBSD: $";
 	return x;
 }
 weak_alias (__nextafterl, nextafterl)
+strong_alias (__nextafterl, __nexttowardl)
+weak_alias (__nextafterl, nexttowardl)
diff --git a/sysdeps/i386/libm-test-ulps b/sysdeps/i386/libm-test-ulps
deleted file mode 100644
index 07c59640fd..0000000000
--- a/sysdeps/i386/libm-test-ulps
+++ /dev/null
@@ -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
diff --git a/sysdeps/ieee754/flt-32/e_gammaf_r.c b/sysdeps/ieee754/flt-32/e_gammaf_r.c
index 926905e7cd..f0cd43840b 100644
--- a/sysdeps/ieee754/flt-32/e_gammaf_r.c
+++ b/sysdeps/ieee754/flt-32/e_gammaf_r.c
@@ -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));
diff --git a/sysdeps/ieee754/flt-32/e_lgammaf_r.c b/sysdeps/ieee754/flt-32/e_lgammaf_r.c
index f744d5320e..5ebebb77af 100644
--- a/sysdeps/ieee754/flt-32/e_lgammaf_r.c
+++ b/sysdeps/ieee754/flt-32/e_lgammaf_r.c
@@ -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);