#
JTC1/SC22/WG14
N734

Miscellaneous Floating-Point Cleanup Items
WG14/N734 J11/97-097
Jim Thomas
1997-06-25
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
input arguments.
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 7.13.1.5 [10], the meaning and treatment of "underflow" is inconsistent with that in
<math.h>. Change
If the correct value would cause underflow, zero is returned and the value of the macro ERANGE
is stored in errno.
to
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 7.18.4.1.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.
to
* lgamma(-Inf) returns +Inf.