]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR libfortran/26253 (fallback scalbn doesn't handle denormals correctly)
authorFrancois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Fri, 21 Sep 2007 10:54:20 +0000 (10:54 +0000)
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Fri, 21 Sep 2007 10:54:20 +0000 (10:54 +0000)
PR libfortran/26253
* intrinsics/c99_functions.c (scalbn): Use ldexp if appopriate.

From-SVN: r128648

libgfortran/ChangeLog
libgfortran/intrinsics/c99_functions.c

index 337d2e17555e455ae65f7f9c4f47d1381787d95a..79c7e137ba1b63a07b15df7c2c42f1d90ef312a3 100644 (file)
@@ -1,3 +1,8 @@
+2007-09-21  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       PR libfortran/26253
+       * intrinsics/c99_functions.c (scalbn): Use ldexp if appopriate.
+
 2007-09-21  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
 
        PR libfortran/23272
index 65c284e9b8c4d4ececc362725d3a42c3b5233991..c9c47965da2ef929863bac56570cb8fa88a4c36a 100644 (file)
@@ -341,7 +341,11 @@ log10f(float x)
 double
 scalbn(double x, int y)
 {
+#if (FLT_RADIX == 2) && defined(HAVE_LDEXP)
+  return ldexp (x, y);
+#else
   return x * pow(FLT_RADIX, y);
+#endif
 }
 #endif