Miscellaneous Floating-Point Cleanup Items
1. The first sentence in 7.7.3
The behavior of each of the functions in <math.h> is defined for all representable values of its
is no longer true, e.g. the return value of lrint is unspecified for large-magnitude argument val-
ues. Add ", except where stated otherwise".
2. In 18.104.22.168 , the meaning and treatment of "underflow" is inconsistent with that in
If the correct value would cause underflow, zero is returned and the value of the macro ERANGE
is stored in errno.
If the result underflows (7.7.3), the function returns a value whose magnitude is not greater
than the smallest normalized positive number in the result type; whether errno acquires the
value ERANGE is implementation defined.
3. Item 2 above applies to the wide character specification in 22.214.171.124.1 too.
4. In F.9.5.4, lgamma(-Inf) is inconsistent with similar cases for other functions, e.g. pow. Change
* lgamma(-Inf) returns a NaN and raises the invalid exception.
* lgamma(-Inf) returns +Inf.