GET_IEEE_STATUS(3I) Last changed: 1-6-98
NAMEGET_IEEE_STATUS - Retrieves flags that represent the current
floating-point status upon entry to a procedure
SYNOPSISGET_IEEE_STATUS ([STATUS=]status)
IMPLEMENTATION
UNICOS/mk and IRIX systems
CRAY T90 systems that support IEEE floating-point arithmetic
STANDARDS
CF90 and MIPSpro 7 Fortran 90 compiler extension to Fortran 90
IEEE Standard for Binary Floating-point Arithmetic
DESCRIPTION
The GET_IEEE_STATUS intrinsic subroutine is typically used to obtain
all flags that represent the current floating-point status upon entry
to a procedure. The value returned is often used as the argument to
SET_IEEE_STATUS(3I) to restore the IEEE status to what it was upon
entry to the procedure.
GET_IEEE_STATUS accepts the following argument:
status Must be scalar and of an integer type that occupies a full
word. For example, on IRIX systems, its kind type parameter
must be 4, and on UNICOS/mk systems, its kind type parameter
must be 8. It is an INTENT(OUT) argument.
The IEEE exceptions are as follows:
* IEEE_XPTN_CRI_INVALID_OPND (accepted only on CRAY T90 systems that
support IEEE floating-point arithmetic)
* IEEE_XPTN_INEXACT_RESULT
* IEEE_XPTN_UNDERFLOW
* IEEE_XPTN_OVERFLOW
* IEEE_XPTN_DIV_BY_ZERO
* IEEE_XPTN_INVALID_OPR
* IEEE_XPTN_ALL
The IEEE interrupts are as follows:
* IEEE_NTPT_CRI_INVALID_OPND (valid only on CRAY T90 systems that
support IEEE floating-point arithmetic)
* IEEE_NTPT_INEXACT_RESULT
* IEEE_NTPT_UNDERFLOW
* IEEE_NTPT_OVERFLOW
* IEEE_NTPT_DIV_BY_ZERO
* IEEE_NTPT_INVALID_OPR
* IEEE_NTPT_ALL
This subroutine increases program performance by capturing and then
directly manipulating the status bits with bit manipulation
operations. This practice compromises portability, however.
The name of this intrinsic cannot be passed as an argument.
NOTES
The IEEE intrinsic procedures use the named constants contained in a
system module, so you must include one of the following statements in
your program:
* On UNICOS and UNICOS/mk systems: USE CRI_IEEE_DEFINITIONS
* On UNICOS, UNICOS/mk, and IRIX systems: USE FTN_IEEE_DEFINITIONS
The CRI_IEEE_DEFINITIONS module is obsolescent. It will be removed
for the CF90 4.0 release.
RETURN VALUES
On CRAY T90 systems that support IEEE floating-point arithmetic, the
value of status is the content of SR0 (a 64-bit word).
On all other architectures, the value of status is a set of bits that
represent the current floating-point state. There is no requirement
that the state is represented by the machine as a single word. That
is, this procedure may have to acquire the flags from several
locations and combine them into a single word.
EXAMPLES
See example on SET_IEEE_STATUS(3I).
SEE ALSOSET_IEEE_STATUS(3I)
Intrinsic Procedures Reference Manual, publication SR-2138, for the
printed version of this man page.