OSDN Git Service

PR fortran/33595
[pf3gnuchains/gcc-fork.git] / libgfortran / intrinsics / c99_functions.c
index ce96c8c..66f06b3 100644 (file)
@@ -571,16 +571,16 @@ round(double x)
 
    if (x >= 0.0) 
     {
-      t = ceil(x);
-      if (t - x 0.5)
-       t -= 1.0;
+      t = floor(x);
+      if (t - x <= -0.5)
+       t += 1.0;
       return (t);
     } 
    else 
     {
-      t = ceil(-x);
-      if (t + x 0.5)
-       t -= 1.0;
+      t = floor(-x);
+      if (t + x <= -0.5)
+       t += 1.0;
       return (-t);
     }
 }
@@ -600,16 +600,16 @@ roundf(float x)
 
    if (x >= 0.0) 
     {
-      t = ceilf(x);
-      if (t - x 0.5)
-       t -= 1.0;
+      t = floorf(x);
+      if (t - x <= -0.5)
+       t += 1.0;
       return (t);
     } 
    else 
     {
-      t = ceilf(-x);
-      if (t + x 0.5)
-       t -= 1.0;
+      t = floorf(-x);
+      if (t + x <= -0.5)
+       t += 1.0;
       return (-t);
     }
 }