|
|
1.1 ! root 1: .\" Copyright (c) 1983 Regents of the University of California. ! 2: .\" All rights reserved. The Berkeley software License Agreement ! 3: .\" specifies the terms and conditions for redistribution. ! 4: .\" ! 5: .\" @(#)trpfpe.3f 6.1 (Berkeley) 5/15/85 ! 6: .\" ! 7: .TH TRPFPE 3F "May 15, 1985" ! 8: .UC 5 ! 9: .SH NAME ! 10: trpfpe, fpecnt \- trap and repair floating point faults ! 11: .SH SYNOPSIS ! 12: .B subroutine trpfpe (numesg, rtnval) ! 13: .br ! 14: .B double precision rtnval ! 15: .sp 1 ! 16: .B integer function fpecnt () ! 17: .sp 1 ! 18: .B common /fpeflt/ fperr ! 19: .br ! 20: .B logical fperr ! 21: .SH DESCRIPTION ! 22: \fBNOTE: This routine applies only to Vax computers.\fR ! 23: It is a null routine on the PDP11. ! 24: .PP ! 25: .I Trpfpe ! 26: sets up a signal handler to trap arithmetic exceptions. ! 27: If the exception is due to a floating point arithmetic fault, ! 28: the result of the operation is replaced with the ! 29: .I rtnval ! 30: specified. ! 31: .I Rtnval ! 32: must be a double precision value. For example, ``0d0'' or ``dflmax()''. ! 33: .PP ! 34: The first ! 35: .I numesg ! 36: occurrences of a floating point arithmetic error will cause a message ! 37: to be written to the standard error file. ! 38: Any exception that can't be repaired will result in the default ! 39: action, typically an abort with core image. ! 40: .PP ! 41: .I Fpecnt ! 42: returns the number of faults since the last call to ! 43: .IR trpfpe . ! 44: .PP ! 45: The logical value in the common block labelled ! 46: .I fpeflt ! 47: will be set to ! 48: .B .true. ! 49: each time a fault occurs. ! 50: .SH FILES ! 51: .ie \nM /usr/ucb/lib/libF77.a ! 52: .el /usr/lib/libF77.a ! 53: .SH SEE ALSO ! 54: signal(3F), range(3F) ! 55: .SH BUGS ! 56: This routine works only for ! 57: .IR faults , ! 58: not ! 59: .IR traps . ! 60: This is primarily due to the Vax architecture. ! 61: .PP ! 62: If the operation involves changing the stack pointer, it can't be repaired. ! 63: This seldom should be a problem with the f77 compiler, but such an operation ! 64: might be produced by the optimizer. ! 65: .PP ! 66: The POLY and EMOD opcodes are not dealt with.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.