Tom Lane wrote:
> Michael Paesold <mpaesold@gmx.at> writes:
> > Would you mind reporting this to RedHat Bugzilla? I believe a bug report
> > from you would have more weight then mine, because you actually
> > understand what's going on here. :-)
>
> Actually, given the thought that this may be an artifact of keeping an
> intermediate value in a wider-than-normal register rather than genuinely
> rearranging the computation, I'm not certain it is a compiler bug.
> We'd have to study it a lot more closely before filing it as one, anyway.
>
> If you accept the idea that the pentium4 answer is the right one,
> then what we really need to do is focus on a better rounding rule than
> "strict truncation". I was toying with the notion of adding the
> equivalent of half a microsecond to the fractional-day value before
> truncating it to integer. But I'm not certain that that wouldn't have
> some bad effects in other cases.
Looking at the code, do we need additional rint() calls in there, or
rint(x + 0.5)? Frankly, I am confused why interval_div() has caused
such problems for us? Are we going at this the right way?
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square,
Pennsylvania19073