ISO/ IEC 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.