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

`fegetround`

,
`fesetround`

— control
floating-point rounding direction modes

```
#include
<fenv.h>
```

`int`

`fegetround`

(`void`);

`int`

`fesetround`

(`int
round`);

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.

The `fegetround`

() function returns the
current rounding direction. The `fesetround`

()
function return zero on success, and non-zero if an error occurred.

The `fegetround`

() and
`fesetround`

() functions conform to
ISO/IEC 9899:1999
(“ISO C99”).

These functions first appeared in OpenBSD 5.0.

November 14, 2020 | OpenBSD-current |