Обсуждение: Re: [HACKERS] [PATCHES] [BUGS] BUG #2846: inconsistent and

Поиск
Список
Период
Сортировка

Re: [HACKERS] [PATCHES] [BUGS] BUG #2846: inconsistent and

От
Bruce Momjian
Дата:
Roman Kononov wrote:
> On 12/27/2006 01:15 PM, Tom Lane wrote:
> > I'm not convinced that you're fixing things so much as doing your best
> > to destroy IEEE-compliant float arithmetic behavior.
> >
> > I think what we should probably consider is removing CheckFloat4Val
> > and CheckFloat8Val altogether, and just letting the float arithmetic
> > have its head.  Most modern hardware gets float arithmetic right per
> > spec, and we shouldn't be second-guessing it.
>
> I vote for complete IEEE-compliance. No exceptions with pure floating
> point math. Float -> int conversions should reject overflow, INF and
> NaN. Float -> numeric conversions should reject INF.

I think we did that in current CVS.  Feel free to download a snapshot
from the ftp server and try it out.

> > A slightly less radical proposal is to reject only the case where
> > isinf(result) and neither input isinf(); and perhaps likewise with
> > respect to NaNs.
>
> This might look like another possibility for confusion. For example
> INF-INF=NaN.

Yep, that's what we get now.

--
  Bruce Momjian   bruce@momjian.us
  EnterpriseDB    http://www.enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +