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 >
