Submitter:CFP group
Submission Date: 2020-09-01
Document: WG14 N2564
Title: N2564: Range errors and math functions
Reference Documents:N2506

Summary

At the August 2020 virtual WG14 meeting, N2506 was voted into C2x, except of fmod(), remainder(), and fdim(). The committee asked me to make a document of just what was accepted. Here it is.

C2x changes:

• Treatment of error conditions

Change 7.12.1#5

... overflows if the magnitude ...
to:
... overflows if the magnitude (absolute value) ...
• Treatment of error conditions

Change 7.12.1#6

... underflows if the magnitude ...
to:
... underflows if the magnitude (absolute value) ...
• The asin functions

A range error occurs if nonzero x is too close to zero.
• The atan functions

A range error occurs if nonzero x is too close to zero.
• The atan2 functions

A range error occurs if x is positive and nonzero y/x is too close to zero.
• The sin functions

A range error occurs if nonzero x is too close to zero.
• The tan functions

A range error occurs if nonzero x is too close to zero.
• The asinpi functions

Change 7.12.4.9#2

A range error occurs if the magnitude of nonzero x is too small.
to:
A range error occurs if the magnitude of nonzero x is too smallclose to zero.
• The atanpi functions

Change 7.12.4.10#2

A range error occurs if the magnitude of nonzero x is too small.
to:
A range error occurs if the magnitude of nonzero x is too smallclose to zero.
• The atan2pi functions

Change 7.12.4.11#2

A range error occurs if x is positive and the magnitude of nonzero y/x is too small.
to:
A range error occurs if x is positive and the magnitude of nonzero y/x is too small close to zero.
• The sinpi functions

A range error occurs if nonzero x is too close to zero.
• The tanpi functions

A range error occurs if nonzero x is too close to zero.
• The asinh functions

A range error occurs if nonzero x is too close to zero.
• The atanh functions

A range error occurs if nonzero x is too close to zero.
• The cosh functions

Change 7.12.5.4#2 from

A range error occurs if the magnitude of x is too large.

to

A range error occurs if the magnitude of finite x is too large.
• The sinh functions

Change 7.12.5.5#2 from

A range error occurs if the magnitude of x is too large.

to

A range error occurs if the magnitude of finite x is too large or if nonzero x is too close to zero.
• The tanh functions

A range error occurs if nonzero x is too close to zero.
• The exp functions

Change 7.12.6.1#2 from

A range error occurs if the magnitude of x is too large.

to

A range error occurs if the magnitude of finite x is too large.
• The exp10 functions

Change 7.12.6.2#2 from

A range error occurs if the magnitude of x is too large.

to

A range error occurs if the magnitude of finite x is too large.
• The exp10m1 functions

Change 7.12.6.3#2 from

A range error occurs if finite x is too large or if the magnitude of nonzero x is too small.

to

A range error occurs if positive finite x is too large or if the magnitude of nonzero x is too smallclose to zero.
• The exp2 functions

Change 7.12.6.4#2 from

A range error occurs if the magnitude of x is too large.

to

A range error occurs if the magnitude of finite x is too large.
• The exp2m1 functions

Change 7.12.6.5#2 from

A range error occurs if the magnitude of x is too large or if the magnitude of nonzero x is too small.

to

A range error occurs if the magnitude of positive finite x is too large or if the magnitude of nonzero x is too smallclose to zero.
• The expm1 functions

Change 7.12.6.6#2 from

A range error occurs if positive x is too large.252)

to

A range error occurs if positive finite x is too large or if nonzero x is too close to zero.252)
• The ldexp functions

Change 7.12.6.9#2 from

A range error may occur.

to

A range error may occuroccurs for some finite x, depending on p.
• The log10p1 function

Change 7.12.6.13#2

A range error occurs if the magnitude of nonzero x is too small.
to:
A range error occurs if the magnitude nonzero x is too smallclose to zero.
• The log1p and logp1 functions

A range error occurs if nonzero x is too close to zero.
• The log2p1 functions

A range error occurs if nonzero x is too close to zero.
• The scalbn and scalbln functions

Change 7.12.6.19#2 from

A range error may occur.

to

A range error may occur occurs for some finite x, depending on n.
• The compoundn functions

Change 7.12.7.2#2 from

A range error may occur if n is too large, depending on x.

to

A range error may occuroccurs if positive finite x n is too large or if x is too near but not equal to -1, depending on nx.
• The hypot functions

Change 7.12.7.4#2 from

A range error may occur.

to

A range error may occuroccurs for some finite arguments.
• The pow functions

Change 7.12.7.5#2 from

A range error may occur.

to

A range error may occurocurs if the magnitude of nonzero finite x is too large or too near zero, depending on y.
• The pown functions

Change 7.12.7.6#2 from

A range error may occur.

to

A range error may occuroccurs if the magnitude of nonzero finite x is too large or too near zero, depending on n.
• The powr functions

Change 7.12.7.7#2 from

A range error may occur.

to

A range error may occuroccurs if positive nonzero finite x is too large or too near zero, depending on y.
• The rootn functions

Change 7.12.7.8#2 from

A range error may occur if n is -1.

to

A range error may occuroccurs if n is -1 and the magnitude of nonzero finite x is too large or too near zero .
• The erf functions

A range error occurs if nonzero x is too close to zero.
• The erfc functions

Change 7.12.8.2#2

A range error occurs if positive x is too large.

to:

A range error occurs if positive finite x is too large.
• The lgamma functions

Change 7.12.8.3#2

A range error occurs if positive x is too large.

to:

A range error occurs if positive finite x is too large.
• The tgamma functions

Change 7.12.8.4#2

A range error occurs if the magnitude of x is too large and may occur if the magnitude of x is too small.

to:

A range error occurs for some negative finite x, and if the magnitude ofpositive finite x is too large or and may occur if the magnitude of nonzero x is too smallclose to zero.
• The fma functions

Change 7.12.13.1#2

A range error may occur.

to:

A range error may occuroccurs for some finite arguments.