standards/130067: Wrong numeric limits in system headers?

Václav Haisman v.haisman at sh.cvut.cz
Thu Jan 8 21:57:12 UTC 2009


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