# nextafter(3) - NetBSD Manual Pages

```NEXTAFTER(3)            NetBSD Library Functions Manual           NEXTAFTER(3)

NAME
nextafter, nextafterf, nextafterl, nexttoward, nexttowardf, nexttowardl
-- next representable floating-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);

float
nexttowardf(float x, long double y);

long double
nexttowardl(long 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() and nexttowardf() functions are 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.

nexttowardl() is equivalent to nextafterl().

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.