# Section (3) nextup

Section 3 Linux manual pages

## Name

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`)`;

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

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.

This page is part of release 4.16 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/.