enable_ieee_interrupt(3I)

ENABLE_IEEE_INTERRUPT - Enables floating-point interrupt

As shipped in IRIX 6.5. First release of IRIX 6.5.

NAME
     ENABLE_IEEE_INTERRUPT - Enables floating-point interrupt

SYNOPSIS
     ENABLE_IEEE_INTERRUPT ([INTERRUPT=]interrupt)

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 ENABLE_IEEE_INTERRUPT intrinsic subroutine enables the specified
     floating-point interrupt.  It accepts the following argument:

     interrupt      Must be of an integer type that occupies a full word.
                    If interrupt is an array, it must be 1-dimensional.
                    The single value in the scalar argument case, or each
                    element in the array argument case, must be set to one
                    of the values represented by one of the following named
                    constants:

                    * IEEE_NTPT_CRI_INVALID_OPND (accepted 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

     The IEEE_INEXACT_RESULT and IEEE_UNDERFLOW interrupts should be
     disabled before the execution of any I/O statement that involves
     conversion to prevent arithmetic exceptions during the execution of
     those I/O statements.

     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.

     On UNICOS/mk systems, you cannot use ENABLE_IEEE_INTERRUPT to set the
     following bits:

     * Bit 49, invalid operation disable

     * Bit 50, division by zero disable

     * Bit 51, overflow disable

     The hardware ignores attempts to set these bits.

CAUTIONS
     Care should be taken before enabling interrupts on inexact results
     because inexact results are so prevalent.  In particular, inexact
     results will occur while performing operations which are not generally
     regarded as floating-point operations.  These include, but are not
     limited to, Fortran I/O statements, memory allocations and DO loop
     iteration count computations.

RETURN VALUES
     Upon return, the interrupt, or each element of interrupt, is enabled.
     If interrupt, or any element of interrupt, has the value
     IEEE_NTPT_ALL, all interrupts are enabled.

EXAMPLES
     See DISABLE_IEEE_INTERRUPT(3I) for an example that uses this intrinsic
     subroutine.

SEE ALSO
     DISABLE_IEEE_INTERRUPT(3I)

     Intrinsic Procedures Reference Manual, publication SR-2138, for the
     printed version of this man page.