Re: round behavior differs between 8.1.5 and 8.3.7

From: Robert Morton <morton2002(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Adrian Klaver <aklaver(at)comcast(dot)net>, pgsql-general(at)postgresql(dot)org
Subject: Re: round behavior differs between 8.1.5 and 8.3.7
Date: 2009-04-21 19:34:12
Message-ID: 625201b40904211234k1594a888t7829a4e846fdb24d@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

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 <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:

> Robert Morton <morton2002(at)gmail(dot)com> 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
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Stephen Frost 2009-04-21 19:38:49 Re: PostgreSQL versus MySQL for GPS Data
Previous Message Christophe 2009-04-21 19:31:23 Re: Yet another "drop table vs delete" question