clear_ieee_exception(3I)

CLEAR_IEEE_EXCEPTION - Clears floating-point exception indicator

As shipped in IRIX 6.5.22. Last changed in IRIX 6.5.19.

NAME
     CLEAR_IEEE_EXCEPTION - Clears floating-point exception indicator

SYNOPSIS
     CLEAR_IEEE_EXCEPTION ([EXCEPTION=]exception)

STANDARDS
     Fortran extension

     IEEE Standard for Binary Floating-point Arithmetic

DESCRIPTION
     The CLEAR_IEEE_EXCEPTION intrinsic subroutine clears the specified
     floating-point exception indicator.  It accepts the following
     argument:

     exception      Must be of type default integer.  It is an INTENT(IN)
                    argument.  If exception is an array, it must be 1-
                    dimensional.  The single argument in the scalar case,
                    or each array element in the array case, must be set to
                    one of the values represented by the following named
                    constants:

                    * IEEE_XPTN_INEXACT_RESULT

                    * IEEE_XPTN_UNDERFLOW

                    * IEEE_XPTN_OVERFLOW

                    * IEEE_XPTN_DIV_BY_ZERO

                    * IEEE_XPTN_INVALID_OPR

                    * IEEE_XPTN_ALL (all exceptions in this list)

     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

RETURN VALUES
     The exception indicator specified by exception (or each element of
     exception) is cleared so it now indicates that the exception has not
     occurred.

EXAMPLES
          ! Clear the divide by zero bit.

          CALL CLEAR_IEEE_EXCEPTION(IEEE_XPTN_DIV_BY_ZERO)

          ! Perform a vectorized floating point divide.

          x(1:n)  = y(1:n) / z(1:n)

          IF (TEST_IEEE_EXCEPTION(IEEE_XPTN_DIV_BY_ZERO) THEN

             ! Reset result since exception bit is set.

             DO i = 1, n
               x(i) = CVMGN(0.0, x, MASK)
             END DO

          END IF

SEE ALSO
     GET_IEEE_EXCEPTIONS(3I), SET_IEEE_EXCEPTION(3I),
     TEST_IEEE_EXCEPTION(3I).