nextafter, nextafterf, nextafterl, nexttoward, nexttowardf, nexttowardl - floating-point number manipulation
long double nextafterl(long double
x, long double
long double nexttowardl(long double
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 500 || /* Since glibc 2.19: */ _DEFAULT_SOURCE || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || /* Since glibc 2.19: */ _DEFAULT_SOURCE || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
_XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
The nextafter(), nextafterf(), and
nextafterl() functions return the next representable
floating-point value following
x in the direction of
y is less than
x, these functions will
return the largest representable number less than
y, the functions return
On success, these functions return the next representable
floating-point value after
x in the direction of
y (cast to the same
x) is returned.
y is a NaN, a NaN is returned.
x is finite, and the result would overflow, a range error
occurs, and the functions return HUGE_VAL,
HUGE_VALF, or HUGE_VALL, respectively,
with the correct mathematical sign.
x is not equal to
y, and the correct function
result would be subnormal, zero, or underflow, a range error occurs, and
either the correct value (if it can be represented), or 0.0, is
See math_error(7) for information on how to determine whether an error has occurred when calling these functions.
The following errors can occur:
errno is set to ERANGE. An overflow
floating-point exception (FE_OVERFLOW) is raised.
errno is set to ERANGE. An underflow
floating-point exception (FE_UNDERFLOW) is raised.
C99, POSIX.1-2001, POSIX.1-2008. This function is defined in IEC 559 (and the appendix with recommended functions in IEEE 754/IEEE 854).
In glibc version 2.5 and earlier, these functions do not raise an underflow floating-point (FE_UNDERFLOW) exception when an underflow occurs.
Before glibc version 2.23 these functions did not set
This page is part of release 5.10 of the Linux
project. A description of the project, information about reporting bugs,
and the latest version of this page, can be found at