fpsetmask(3) - NetBSD Manual Pages

Command: Section: Arch: Collection:  
FPGETMASK(3)            NetBSD Library Functions Manual           FPGETMASK(3)

fpgetmask, fpgetprec, fpgetround, fpgetsticky, fpsetmask, fpsetprec, fpsetround, fpsetsticky -- IEEE FP mode control
Standard C Library (libc, -lc)
#include <ieeefp.h> 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);
A rounding mode fp_rnd_t is one of: FP_RZ rounding towards zero FP_RM rounding down to (Minus infinity) FP_RN rounding to nearest FP_RP rounding down to (Plus infinity) The default mode is FP_RN. An fp_except_t value is a bitmask specifying an exception type and con- taining 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 preci- sion. 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 speci- fied 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.
The fpgetround() and fpsetround() functions return the (previous) round- ing mode. The fpgetmask(), fpsetmask(), fpgetsticky(), and fpsetsticky() functions return the (previous) exception mask and exception history bits.
sigaction(2), fenv(3)
There is no way to return an unsupported value. Not all processors sup- port all the modes. These interfaces are deprecated and the ones in fenv(3) should be used, although the interfaces in fenv(3) don't support getting or setting the precision. NetBSD 10.99 March 26, 2011 NetBSD 10.99
Powered by man-cgi (2024-03-20). Maintained for NetBSD by Kimmo Suominen. Based on man-cgi by Panagiotis Christias.