Submitter:Fred Tydeman
Submission Date: 2018-12-12
Document: WG14 N2321
Reference Documents: N2302

Summary

For most floating-point formats, nextafterl(1.L,2.L) is the normalized number whose value is 1.L+LDBL_EPSION. However, when long double is a pair of doubles, it is not clear what the standard requires (could be 1.L+LDBL_TRUE_MIN), what implementations do, and what users want. At least one implementation punted on this by not providing nextafterl; while they do provide nextafter and nextafterf

It seems that making nextafterl(1.L,2.L) be 1.L+LDBL_EPSION for all implementations would help with portability.

Technical Corrigendum:

Add this paragraph:

A finite result shall be either a zero, a subnormal floating-point number, or a normalized floating-point number.

to:

§7.12.11.3 The nextafter functions, §7.12.11.4 The nexttoward functions, §7.12.? The nextup functions, and §7.12.? The nextdown functions in the Description section.