Submitter:Fred Tydeman
Submission Date: 2018-12-12
Document: WG14 N2325
Reference Documents: N1870, N2092

Summary

SD3 item 11 (part of DR 467) against C2X: Maximum normalized numbers.

DR 467 decided that FLT_MAX, DBL_MAX, LDBL_MAX are the maximum representable finite numbers for their respective types. Therefore, there are no symbols for the maximum normalized (numbers with full precision) numbers for their respective types. Users may have a need to know if (and where) there are large numbers with less than full precision. This corresponds to the case of small numbers (*_MIN versus *_TRUE_MIN).

Suggested Technical Corrigendum:

Add a new bullet item to §5.2.4.2.2 paragraph 13:

-- maximum normalized floating-point number [copy math formula from FLT_MAX],

    FLT_NORM_MAX 1E+37
    DBL_NORM_MAX 1E+37
    LDBL_NORM_MAX 1E+37


Existing practice

For most implementations, these three macros will be the same as the corresponding *_MAX macros. The only known case where that is not true is those where long double is implemented as a pair of doubles (where LDBL_MAX could be twice LDBL_NORM_MAX, but with half the precision).