NAME
fpgetmask
,
fpgetround
, fpgetsticky
,
fpsetmask
, fpsetround
,
fpsetsticky
—
IEEE FP mode control
SYNOPSIS
#include
<ieeefp.h>
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_DNML |
Denormalization (amd64 and i386 only) |
The
fpsetmask
()
function will cause future operations with the specified result status to
raise the SIGFPE
exception. The
fpsetround
()
function will cause future operations to use the specified dynamic 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.
The
fpsetsticky
()
function will set or clear the specified 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.