Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fpecnt(3F) — bsd — Apollo Domain/OS SR10.4.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

signal(3F)

range(3F)

TRPFPE(3F)                           BSD                            TRPFPE(3F)



NAME
     trpfpe, fpecnt - trap and repair floating point faults

SYNOPSIS
     subroutine trpfpe (numesg, rtnval)
     double precision rtnval

     integer function fpecnt ()

     common /fpeflt/ fperr
     logical fperr

DESCRIPTION
     NOTE: This routine applies only to VAX computers.  It is a null routine
     on the PDP11 and Apollo workstations.

     trpfpe sets up a signal handler to trap arithmetic exceptions.  If the
     exception is due to a floating-point arithmetic fault, the result of the
     operation is replaced with the rtnval specified.  rtnval must be a double
     precision value. For example, "0d0" or "dflmax()".

     The first numesg occurrences of a floating-point arithmetic error will
     cause a message to be written to the standard error file.  Any exception
     that can't be repaired will result in the default action, typically an
     abort with core image.

     fpecnt returns the number of faults since the last call to trpfpe.

     The logical value in the common block labeled fpeflt will be set to
     .true. each time a fault occurs.

FILES
     /usr/lib/libF77.a

SEE ALSO
     signal(3F), range(3F)

BUGS
     This routine works only for faults, not traps.  This is primarily due to
     the VAX architecture.

     If the operation involves changing the stack pointer, it can't be
     repaired.  This seldom should be a problem with the f77 compiler, but
     such an operation might be produced by the optimizer.

     The POLY and EMOD opcodes are not dealt with.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026