Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 6 Jan 2009 14:03:13 -0500
From:      David Schultz <das@FreeBSD.ORG>
To:        Bruce Evans <brde@optusnet.com.au>
Cc:        freebsd-standards@FreeBSD.ORG, Vaclav Haisman <v.haisman@sh.cvut.cz>, imp@FreeBSD.ORG, freebsd-gnats-submit@FreeBSD.ORG
Subject:   Re: standards/130067: Wrong numeric limits in system headers?
Message-ID:  <20090106190313.GA15233@zim.MIT.EDU>
In-Reply-To: <20081231215445.S3923@delplex.bde.org>
References:  <200812302231.mBUMVUtf092910@www.freebsd.org> <20081231215445.S3923@delplex.bde.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On FreeBSD/i386, long doubles are represented with 64 bits of
precision, but computations are performed with 53 bits of
precision. In a sane world, this discrepancy wouldn't exist, but
for reasons I won't get into, they do, and probably always will.

C99 defines the LDBL constants based on what can be represented,
not what can be computed as the result of arithmetic operations,
so my interpretation is that the values in float.h are correct,
though confusing.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090106190313.GA15233>