DISABLE_IEEE_INTERRUPT man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]

DISABLE_IEEE_INTERRUPT(3I)			       Last changed: 1-6-98

NAME
     DISABLE_IEEE_INTERRUPT - Disables floating-point interrupt

SYNOPSIS
     DISABLE_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 DISABLE_IEEE_INTERRUPT intrinsic subroutine disables 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 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 DISABLE_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.

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

EXAMPLES
     The following program can be run on a UNICOS, UNICOS/mk, or IRIX
     system:

	  SUBROUTINE calculate
	  USE FTN_IEEE_DEFINITIONS

	  INTEGER interrupt_status

	  ! Save the current floating point interrupt status.

	  CALL GET_IEEE_INTERRUPTS(interrupt_status)

	  ! Enable interrupt on divide by zero if it hasn't already been
	  ! enabled.

	  IF (.NOT. TEST_IEEE_INTERRUPT(IEEE_NTPT_DIV_BY_ZERO))	 &
	  CALL ENABLE_IEEE_INTERRUPT(IEEE_NTPT_DIV_BY_ZERO)

	  ! Perform a floating point divide.
	  ! If z = 0, the program error terminates.

	  x  = y / z

	  ! Disable interrupt on divide by zero.

	  CALL DISABLE_IEEE_INTERRUPT(IEEE_NTPT_DIV_BY_ZERO))

	  ! If z = 0, q = Infinity (quietly).

	  q  = y / z

	  ! Restore the floating point interrupt status to what it was
	  ! when this procedure was called.

	  CALL SET_IEEE_INTERRUPTS(interrupt_status)

	  END SUBROUTINE

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

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net