PS: A third possible implementation - if you want to rely on FLOOR and CEIL -
is like this:
DOUBLE
ROUND (DOUBLE x)
{
if (x >= L_(0.0))
return FLOOR (x + L_(0.5));
else
return CEIL (x - L_(0.5));
}
And another nit:
> + HAVE_DECL_ROUND=0
> + AC_LIBOBJ([round])
> + ROUND_LIBM=
If the lib/round.c substitute relies on floor, then it is wrong to set
ROUND_LIBM to empty. In this case you need to set ROUND_LIBM="$FLOOR_LIBM"
(and ensure that FLOOR_LIBM is already computed at this point in the
configure file).
Bruno