ISO/ IEC JTC1/SC22/WG14 N734

Miscellaneous Floating-Point Cleanup Items

WG14/N734 J11/97-097

		Jim Thomas


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 [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.


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 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.