Commit 287188ea by Francois-Xavier Coudert Committed by François-Xavier Coudert

re PR libfortran/47970 (c99_functions.c:611:5: warning: implicit declaration of function 'round')

	PR libfortran/47970
	* intrinsics/c99_functions.c (round): Move higher in the file.

From-SVN: r181153
parent 7d29c953
2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR libfortran/47970
* intrinsics/c99_functions.c (round): Move higher in the file.
2011-11-07 Janne Blomqvist <jb@gcc.gnu.org>
PR libfortran/45723
......
......@@ -559,6 +559,37 @@ powf (float x, float y)
#endif
#ifndef HAVE_ROUND
#define HAVE_ROUND 1
/* Round to nearest integral value. If the argument is halfway between two
integral values then round away from zero. */
double round (double x);
double
round (double x)
{
double t;
if (!isfinite (x))
return (x);
if (x >= 0.0)
{
t = floor (x);
if (t - x <= -0.5)
t += 1.0;
return (t);
}
else
{
t = floor (-x);
if (t + x <= -0.5)
t += 1.0;
return (-t);
}
}
#endif
/* Algorithm by Steven G. Kargl. */
#if !defined(HAVE_ROUNDL)
......@@ -614,36 +645,6 @@ roundl (long double x)
#endif
#endif
#ifndef HAVE_ROUND
#define HAVE_ROUND 1
/* Round to nearest integral value. If the argument is halfway between two
integral values then round away from zero. */
double round (double x);
double
round (double x)
{
double t;
if (!isfinite (x))
return (x);
if (x >= 0.0)
{
t = floor (x);
if (t - x <= -0.5)
t += 1.0;
return (t);
}
else
{
t = floor (-x);
if (t + x <= -0.5)
t += 1.0;
return (-t);
}
}
#endif
#ifndef HAVE_ROUNDF
#define HAVE_ROUNDF 1
/* Round to nearest integral value. If the argument is halfway between two
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment