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.

For an explanation of the terms used in this section, see attributes(7).

Interface | Attribute | Value |

nextup(), nextupf(), nextupl(), nextdown(), nextdownf(), nextdownl() |
Thread safety | MT-Safe |

These functions are described in `IEEE Std 754-2008 - Standard for Floating-Point Arithmetic`

and `ISO/IEC TS 18661`

.

This page is part of release 4.15 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 https://www.kernel.org/doc/man-pages/.