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

```
#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`

.

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
type.

If `x`

is Nan, the returned value is NaN.

The value returned by `nextdown(x)`

is `-nextup(-x)`

,
and similarly for the other types.

See DESCRIPTION.

These functions first appeared in glibc in version 2.24.

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

.

`man-pages`

project. A description of the project, information about reporting bugs,
and the latest version of this page, can be found at
https://www.kernel.org/doc/man-pages/.