NEXTAFTER(3) BSD Library Functions Manual NEXTAFTER(3)NAME
nextafter, nextafterf, nextafterl, nexttoward — next representable float‐
ing-point number
LIBRARY
Math Library (libm, -lm)
SYNOPSIS
#include <math.h>
double
nextafter(double x, double y);
float
nextafterf(float x, float y);
long double
nextafterl(long double x, long double y);
double
nexttoward(double x, long double y);
DESCRIPTION
The nextafter(), nextafterf(), and nextafterl() functions return the next
machine representable number from x in direction of y. In other words,
if y is less than x, the functions return the largest representable
floating-point number less than x. When x equals y, the value of y is
returned. The three functions differ only in the type of the return
value and x.
The nexttoward() function is equivalent to the nextafter() family of
functions with two exceptions:
1. The second parameter has a type long double.
2. The return value is y converted to the type of the function,
provided that x equals y.
RETURN VALUES
Upon successful completion, the described functions return the next rep‐
resentable floating-point value as described above. If x is finite but
an overflow would occur, a range error follows and the functions return
±HUGE_VAL, ±HUGE_VALF, or ±HUGE_VALL with the same sign as x. When
either x or y is NaN, a NaN is returned. When x is not y but the func‐
tion value is subnormal, zero, or underflows, a range error occurs, and
either 0.0 or the correct function value (if representable) is returned.
SEE ALSOmath(3)STANDARDS
The described functions conform to ISO/IEC 9899:1999 (“ISO C99”).
BSD September 18, 2011 BSD