April 4, 2004 FPGETMASK 3

### NAME

fpgetmask, fpgetround, fpgetsticky, fpsetmask, fpsetround, fpsetsticky - IEEE FP mode control

### LIBRARY

Standard C Library (libc, -lc)

### SYNOPSIS

```fp_except` fpgetmask(```void`)
```fp_rnd` fpgetround(```void`)
```fp_except` fpgetsticky(```void`)
```fp_except` fpsetmask(```fp_except mask`)
```fp_rnd` fpsetround(```fp_rnd rnd_dir`)
```fp_except` fpsetsticky(```fp_except sticky`)

### DESCRIPTION

A rounding mode is one of ```FP_RZ`,`FP_RM`,`FP_RN`, or ```FP_RP`, for rounding towards zero, rounding (Minus infinity) down, rounding to nearest, and rounding (Plus infinity) up. The default mode is ```FP_RN`.

An
```fp_except` value is a bitmask specifying an exception type and containing any of the values listed below.

```FP_X_INV` | `Invalid Operation`
```FP_X_DZ` | `Division by zero`
```FP_X_OFL` | `Overflow`
```FP_X_UFL` | `Underflow`
```FP_X_IMP` | `Imprecision``(inexact)`
```FP_X_IOV` | `Integer Overflow`

The fpsetmask(``) function will set the current exception mask, i.e., it will cause future operations with the specified result status to raise the ```SIGFPE` exception. The fpgetmask(``) function will return the current exception mask.

The fpsetround(``) function will cause future operations to use the specified dynamic rounding mode. The fpgetround(``) function will return the current rounding mode.

Note
  : On some architectures, instructions can optionally specify static rounding modes and exception enables that will supersede the specified dynamic mode. On other architectures, these features may not be fully supported.

A ``sticky'' status word may be maintained in which a bit is set every time an exceptional floating point condition is encountered, whether or not a ```SIGFPE` is generated. The fpsetsticky(``) function will set or clear the specified exception history bits. The fpgetsticky(``) function will return the exception history bits.

### RETURN VALUES

The fpgetround(``) and fpsetround(``) functions return the (previous) rounding mode. The fpgetmask(``), fpsetmask(``), fpgetsticky(``), and fpsetsticky(``) functions return the (previous) exception mask and exception history bits.

### SEE ALSO

sigaction(2)