standards/130067: Wrong numeric limits in system headers?

David Schultz das at FreeBSD.ORG
Tue Jan 6 19:23:03 UTC 2009


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.


More information about the freebsd-standards mailing list