Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 08 Jan 2009 22:56:59 +0100
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
Subject:   Re: standards/130067: Wrong numeric limits in system headers?
Message-ID:  <496676AB.9040905@sh.cvut.cz>
In-Reply-To: <20090106190313.GA15233@zim.MIT.EDU>
References:  <200812302231.mBUMVUtf092910@www.freebsd.org> <20081231215445.S3923@delplex.bde.org> <20090106190313.GA15233@zim.MIT.EDU>

next in thread | previous in thread | raw e-mail | index | archive | help
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?496676AB.9040905>