FPGETMASK(3) | Library Functions Manual | FPGETMASK(3) |
fp_except_t
fpgetmask(void);
fp_prec_t
fpgetprec(void);
fp_rnd_t
fpgetround(void);
fp_except_t
fpgetsticky(void);
fp_except_t
fpsetmask(fp_except_t mask);
fp_prec_t
fpsetprec(fp_prec_t prec);
fp_rnd_t
fpsetround(fp_rnd_t rnd_dir);
fp_except_t
fpsetsticky(fp_except_t sticky);
FP_RZ | rounding towards zero |
FP_RM | rounding down to (Minus infinity) |
FP_RN | rounding to nearest |
FP_RP | rounding down to (Plus infinity) |
An fp_except_t 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 |
An fp_prec_t specifies the precision of the floating point operations listed below.
FP_PS | 24 bit (single-precision) |
FP_PRS | reserved |
FP_PD | 53 bit (double-precision) |
FP_PE | 64 bit (extended-precision) |
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 fpgetprec() function will return the current floating point precision. The fpsetprec() function will set the floating point precision and will return the previous precision.
The fpsetround() function will cause future operations to use the specified dynamic rounding mode. The fpgetround() function will return the current rounding mode.
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.
March 26, 2011 | NetBSD 6.1 |