standards/130067: Wrong numeric limits in system headers?
Václav Haisman
v.haisman at sh.cvut.cz
Thu Jan 8 22:00:11 UTC 2009
The following reply was made to PR standards/130067; it has been noted by GNATS.
From: =?UTF-8?B?VsOhY2xhdiBIYWlzbWFu?= <v.haisman at sh.cvut.cz>
To: Bruce Evans <brde at optusnet.com.au>,
Vaclav Haisman <v.haisman at sh.cvut.cz>,
imp at FreeBSD.ORG, freebsd-gnats-submit at FreeBSD.ORG,
freebsd-standards at 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
More information about the freebsd-standards
mailing list