Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (4.2BSD)
Apropos / Subsearch:
optional field

TRPFPE(3F)                                                          TRPFPE(3F)

       trpfpe, fpecnt - trap and repair floating point faults

       subroutine trpfpe (numesg, rtnval)
       double precision rtnval

       integer function fpecnt ()

       common /fpeflt/ fperr
       logical fperr

       NOTE: This routine applies only to Vax computers.  It is a null routine
       on the PDP11.

       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  excep-
       tion  that  can't  be repaired will result in the default action, typi-
       cally an abort with core image.

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

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


       signal(3F), range(3F)

       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.

4th Berkeley Distribution        26 July 1983                       TRPFPE(3F)