Tom Lane wrote:
> ITAGAKI Takahiro <itagaki.takah...@oss.ntt.co.jp> writes:
> > We already have some codes to avoid -0 float8um (unary minus),
> > but there are no protection in trunc(), ceil() and round() at least.
> 
> I looked into the CVS history to find out when the anti-minus-zero code
> got put into float8um.  It seems to have been done by Tom Lockhart here:
> 
> http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/utils/adt/float.c.diff?r1=1.13;r2=1.14
> 
> The CVS commit message says
>       Check for zero in unary minus floating point code (IEEE allows an
>       explicit negative zero which looks ugly in a query result!).
> along with some other unrelated changes.  I can find no evidence in the
> mailing list archives that there was any discussion about the point,
> so I think Tom did that on his own authority.
> 
> I'm of the opinion that minus zero was put into the IEEE floating point
> standard by people who know a great deal more about the topic than
> anyone on this list does, and that we do not have the expertise to be
> second-guessing how it should work.  Not long ago we took out code that
> was interfering with spec-compliant treatment of IEEE infinity; I think
> we should take out this code too.
> 
> Yes, it will be platform dependent, because various platforms get the
> IEEE spec wrong to some degree, but so what?  This is hardly the only
> platform dependence of that kind.

Agreed.

-- 
  Bruce Momjian  <br...@momjian.us>        http://momjian.us
  EnterpriseDB                             http://enterprisedb.com

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

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to