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



Reply via email to