> > I have finally resolved the differences in the union regression
> > test.
> > The problem is that the test uses the float8 table as part of the
> > test, and this table turns out to be different among platforms
> > because of different behavior with small numbers. Since the float8
> > part of testing unions seemed entirely irrelevant I have changed it
> > to use float4, which is not different among platforms.
> It's not? I think you assume far too much about the uniformity of
> floating-point hardware.
I had included float8 in this particular regression test to exercise the
int4->float8 "promotion" since float8 is a "preferred type". Don't know
why float4 should in general have different or better behavior than
float8 wrt conversions and rounding; you may just be lucky on your
platform.
However, the float8_tbl is pretty ugly after the float8 regression test.
How about defining a new table which has better behaved numbers? I would
prefer that to eliminating float8 from the test altogether. I'll bet
that floating numbers like 1.1 are represented OK on Brook's machine,
and that the problems are with the 1e-200 numbers?
(I'm out of town tomorrow through Sunday so we can continue this
discussion next week?)
- Tom