re PR libfortran/33595 (FAIL: gfortran.dg/nint_2.f90 -O0 execution test)
PR fortran/33595 * intrinsics/c99_functions.c (round): Use floor instead of ceil. Revise checks to round up. (roundf): Likewise. From-SVN: r145209
This commit is contained in:
parent
8272d11d4a
commit
63f90eb7b0
@ -1,3 +1,10 @@
|
||||
2009-03-29 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
|
||||
|
||||
PR fortran/33595
|
||||
* intrinsics/c99_functions.c (round): Use floor instead of ceil.
|
||||
Revise checks to round up.
|
||||
(roundf): Likewise.
|
||||
|
||||
2009-03-28 Daniel Kraft <d@domob.eu>
|
||||
|
||||
* intrinsics/string_intrinsics.c: #include <assert.h>
|
||||
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user