]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR libfortran/26253
authorfxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 21 Sep 2007 10:54:20 +0000 (10:54 +0000)
committerfxcoudert <fxcoudert@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 21 Sep 2007 10:54:20 +0000 (10:54 +0000)
* intrinsics/c99_functions.c (scalbn): Use ldexp if appopriate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128648 138bc75d-0d04-0410-961f-82ee72b054a4

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