# nextup man page

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

## Synopsis

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

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.

## Return Value

See Description.

## Versions

These functions first appeared in glibc in version 2.24.

## Attributes

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 |

## Conforming to

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

## See Also

## Referenced By

Explore man page connections for nextup(3).

nextdown(3), nextdownf(3), nextdownl(3), nextupf(3) and nextupl(3) are aliases of nextup(3).