set_ieee_status(3I)

SET_IEEE_STATUS - Restores floating-point status

As shipped in IRIX 6.5.5. Last changed in IRIX 6.5.5.

NAME
     SET_IEEE_STATUS - Restores floating-point status

SYNOPSIS
     SET_IEEE_STATUS ([STATUS=]status)

IMPLEMENTATION
     UNICOS/mk, IRIX systems, CRAY T90 systems that support IEEE
     floating-point arithmetic

     CF90, MIPSpro 7 Fortran 90

STANDARDS
     Fortran extension

     IEEE Standard for Binary Floating-point Arithmetic

DESCRIPTION
     The SET_IEEE_STATUS intrinsic subroutine is typically used to restore
     the caller's floating-point status just before exiting a procedure.
     It accepts the following argument:

     status    Must be scalar and of an integer type that occupies a full
               word.  It is an INTENT(IN) argument.

               On CRAY T90 systems that support IEEE floating-point
               arithemetic, its value (contained in a 64-bit word) is
               stored into SR0.  On other architectures, the flags are
               stored into the appropriate flag bits of the word(s) or
               register(s) that record the floating-point state.

               The value in status is assumed to have been produced through
               an invocation of GET_IEEE_STATUS(3I).

     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 the following statement in your
     program:

          USE FTN_IEEE_DEFINITIONS

     There are 6 bits, called the IEEE Floating Point Exception Status Bits
     or the sticky bits, that indicate whether any one of 6 possible
     exceptions has occurred (the 5 exceptions specified by the IEEE
     floating-point standard and a Silicon Graphics extension).  The user
     program begins with these bits cleared to zero.  The occurrence of any
     of the exceptions will set the corresponding bit.  Only the user can
     clear these bits.

EXAMPLES
        ! Assume this example demonstrates code for an IRIX system
        ! where default integer type occupies a full word.

        SUBROUTINE CALCULATE
        USE FTN_IEEE_DEFINITIONS
        INTEGER  IEEE_STATUS
        ...                         ! Only stmts here that can't change the
                                    ! floating point status.
        CALL GET_IEEE_STATUS(IEEE_STATUS)
        ...                         ! Body of the procedure.
        CALL SET_IEEE_STATUS(IEEE_STATUS)
        END SUBROUTINE

     GET_IEEE_STATUS(3I) is called upon entry to the example's procedure
     CALCULATE to capture the current floating-point status.  If procedure
     CALCULATE changes the floating-point status, the original
     floating-point status can be reset before exiting from CALCULATE by
     calling SET_IEEE_STATUS.

SEE ALSO
     GET_IEEE_STATUS(3I)

     Intrinsic Procedures Reference Manual for the printed version of this
     man page.