HP-UX Reference (11i v1 05/09) - 3 Library Functions A-M (vol 6)

f
fegetflushtozero(3M) fegetflushtozero(3M)
NAME
fegetflushtozero( ) - get floating-point underflow mode
SYNOPSIS
#include <fenv.h>
int fegetflushtozero(void);
DESCRIPTION
The fegetflushtozero()
function retrieves the value representing the current underflow mode,
which is either IEEE-754-compliant (gradual) underflow mode or flush-to-zero mode.
The default underflow mode is IEEE-754-compliant.
Flush-to-zero mode, also known as fast underflow mode, is supported on most PA1.1 systems and on all
PA2.0 systems. On HP 9000 systems, most underflow cases are supported by trapping into the kernel,
where the IEEE-mandated conversion of the result into a denormalized value or zero is accomplished by
software emulation. Flush-to-zero mode causes the hardware to substitute a zero for the result of an opera-
tion, with no fault occurring. This may be a significant performance optimization for applications that
underflow frequently. Flush-to-zero mode also causes denormalized floating-point operands to be treated as
if they were true zero operands.
To use this function, compile either with the default
-Ae option or with the -Aa
and -D_HPUX_SOURCE
options. Make sure your program includes <fenv.h>. Link in the math library by specifying -lm
on the
compiler or linker command line.
For more information, see the HP-UX Floating-Point Guide.
RETURN VALUE
The
fegetflushtozero()
function returns zero if the current underflow mode is IEEE-754-compliant.
The function returns 1 if the current underflow mode is flush-to-zero.
On systems that do not support flush-to-zero mode, this function returns an undefined value.
ERRORS
No errors are defined.
EXAMPLE
Save the current underflow mode, set flush-to-zero mode, and restore the previous mode.
#include <fenv.h>
/*...*/
int fm_saved;
fm_saved = fegetflushtozero();
fesetflushtozero(1);
/*...*/
fesetflushtozero(fm_saved);
AUTHOR
fegetflushtozero() was developed by HP and is not required by any current standard.
SEE ALSO
fesetflushtozero(3M), fenv(5).
HP-UX 11i Version 1: September 2005 1 Hewlett-Packard Company Section 3245