FEGETROUND(3) | Library Functions Manual | FEGETROUND(3)

# NAME

`fegetround`, `fesetround` — control floating-point rounding direction modes

# SYNOPSIS

Math Library (libm, -lm)
`#include <fenv.h>`

int
`fegetround`(void);

int
`fesetround`(int round);

# DESCRIPTION

These functions provide control of floating-point rounding direction modes. The round input argument is a value specifying a rounding direction mode and containing any of the values listed below.

`FE_TONEAREST`
  Results are rounded to the closest representable value. If the exact result is exactly half way between two representable values, the value whose last binary digit is even (zero) is chosen. This is the default mode.
`FE_DOWNWARD`
  Results are rounded towards negative infinity.
`FE_UPWARD`
  Results are rounded towards positive infinity.
`FE_TOWARDZERO`
  Results are rounded towards zero.

The `fegetround`() function gets the current rounding direction.

The `fesetround`() function establishes the rounding direction represented by round. If the argument is not equal to the value of a rounding direction macro, the rounding direction is not changed.

# RETURN VALUES

The `fegetround`() function returns the current rounding direction. The `fesetround`() function return zero on success, and non-zero if an error occurred.

# SEE ALSO

feclearexcept(3), feenableexcept(3), fegetenv(3)

# STANDARDS

The `fegetround`() and `fesetround`() functions conform to ISO/IEC 9899:1999 (“ISO C99”).

# HISTORY

These functions first appeared in OpenBSD 5.0.

June 7, 2025 | Debian