Date: Thu, 8 Jan 2009 22:00:10 GMT From: =?UTF-8?B?VsOhY2xhdiBIYWlzbWFu?= <v.haisman@sh.cvut.cz> To: freebsd-standards@FreeBSD.org Subject: Re: standards/130067: Wrong numeric limits in system headers? Message-ID: <200901082200.n08M0Ams090350@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: =?UTF-8?B?VsOhY2xhdiBIYWlzbWFu?= <v.haisman@sh.cvut.cz> To: Bruce Evans <brde@optusnet.com.au>, Vaclav Haisman <v.haisman@sh.cvut.cz>, imp@FreeBSD.ORG, freebsd-gnats-submit@FreeBSD.ORG, freebsd-standards@FreeBSD.ORG Cc: Subject: Re: standards/130067: Wrong numeric limits in system headers? Date: Thu, 08 Jan 2009 22:56:59 +0100 David Schultz wrote, On 6.1.2009 20:03: > 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. I am not language lawyer but even if it were true that the constants are right, there is still the problem that they (especially the LDBL_MAX value) are useless with the provided GCC. Either GCC or the headers should be changed. Otherwise the constants are rather useless and unusable. -- VH
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200901082200.n08M0Ams090350>