Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


NEXTAFTER(3)               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
     representable 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
     function value is subnormal, zero, or underflows, a range error occurs,
     and either 0.0 or the correct function value (if representable) is
     returned.

SEE ALSO
     math(3)

STANDARDS
     The described functions conform to ISO/IEC 9899:1999 ("ISO C99").

NetBSD 10.99                  September 13, 2015                  NetBSD 10.99