The values of {FLT,DBL}_{MAX,MIN} macros on some systems (older musl
libc, some BSD flavours) are not exactly representable, i.e.
(double)DBL_MAX == DBL_MAX is false
This violates (at least some interpretations of) the C99 standard and
breaks code (e.g. in vf_fps) like
double f = DBL_MAX;
[...]
if (f == DBL_MAX) { // f has not been changed yet
[....]
}
|
12 years ago | |
|---|---|---|
| .. | ||
| float.h | Work around broken floating point limits on some systems. | 11 years ago |
| limits.h | Work around broken floating point limits on some systems. | 11 years ago |