Thanks for the explanation, that's exactly the level of detail I need.
-Robert

On Tue, Apr 21, 2009 at 12:00 PM, Tom Lane <[email protected]> wrote:

> Robert Morton <[email protected]> writes:
> > Perhaps there are platform differences, since the version I am using was
> > built with Microsoft Visual Studio:
>
> Ah, now you tell us.
>
> round(float8) just calls the platform's rint() function.  At least on
> platforms that have rint(), which maybe Windows doesn't.  In that case
> it's going to come down to src/port/rint.c, which is not particularly
> careful about the exactly-0.5 case.  I think fully-standards-conformant
> versions of rint() are probably going to use a "round to nearest even
> integer" rule in such cases.  But by and large, float8 arithmetic *is*
> going to have platform-specific behaviors; you're living in a fantasy
> world if you think otherwise.
>
>                        regards, tom lane
>

Reply via email to