nextup(3) — Linux manual page


NEXTUP(3)               Linux Programmer's Manual              NEXTUP(3)

NAME         top

       nextup, nextupf, nextupl, nextdown, nextdownf, nextdownl - return
       next floating-point number toward positive/negative infinity

SYNOPSIS         top

       #define _GNU_SOURCE     /* See feature_test_macros(7) */
       #include <math.h>

       double nextup(double x);
       float nextupf(float x);
       long double nextupl(long double x);

       double nextdown(double x);
       float nextdownf(float x);
       long double nextdownl(long double x);

       Link with -lm.

DESCRIPTION         top

       The nextup(), nextupf(), and nextupl() functions return the next
       representable floating-point number greater than x.

       If x is the smallest representable negative number in the
       corresponding type, these functions return -0.  If x is 0, the
       returned value is the smallest representable positive number of
       the corresponding type.

       If x is positive infinity, the returned value is positive
       infinity.  If x is negative infinity, the returned value is the
       largest representable finite negative number of the corresponding

       If x is Nan, the returned value is NaN.

       The value returned by nextdown(x) is -nextup(-x), and similarly
       for the other types.

RETURN VALUE         top


VERSIONS         top

       These functions first appeared in glibc in version 2.24.

ATTRIBUTES         top

       For an explanation of the terms used in this section, see

       │Interface                             Attribute     Value   │
       │nextup(), nextupf(), nextupl(),       │ Thread safety │ MT-Safe │
       │nextdown(), nextdownf(), nextdownl()  │               │         │

CONFORMING TO         top

       These functions are described in IEEE Std 754-2008 - Standard for
       Floating-Point Arithmetic and ISO/IEC TS 18661.

SEE ALSO         top

       nearbyint(3), nextafter(3)

COLOPHON         top

       This page is part of release 5.13 of the Linux man-pages project.
       A description of the project, information about reporting bugs,
       and the latest version of this page, can be found at

GNU                            2021-03-22                      NEXTUP(3)