Date: Tue, 6 Jan 2009 19:00:15 GMT From: David Schultz <das@FreeBSD.ORG> To: freebsd-standards@FreeBSD.org Subject: Re: standards/130067: Wrong numeric limits in system headers? Message-ID: <200901061900.n06J0Fcl073538@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR standards/130067; it has been noted by GNATS. From: David Schultz <das@FreeBSD.ORG> To: Bruce Evans <brde@optusnet.com.au> Cc: Vaclav Haisman <v.haisman@sh.cvut.cz>, imp@FreeBSD.ORG, freebsd-gnats-submit@FreeBSD.ORG, freebsd-standards@FreeBSD.ORG Subject: Re: standards/130067: Wrong numeric limits in system headers? Date: Tue, 6 Jan 2009 14:03:13 -0500 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?200901061900.n06J0Fcl073538>