4.3BSD/usr/man/man3/trapov.3f

.\" Copyright (c) 1983 Regents of the University of California.
.\" All rights reserved.  The Berkeley software License Agreement
.\" specifies the terms and conditions for redistribution.
.\"
.\"	@(#)trapov.3f	6.1 (Berkeley) 5/15/85
.\"
.TH TRAPOV 3F "May 15, 1985"
.UC 5
.SH NAME
trapov \- trap and repair floating point overflow
.SH SYNOPSIS
.B subroutine trapov (numesg, rtnval)
.br
.B double precision rtnval
.SH DESCRIPTION
\fBNOTE: This routine applies only to the older VAX 11/780's.
VAX computers made or upgraded since spring 1983 handle errors differently.\fR
See
.IR trpfpe (3F)
for the newer error handler.
This routine has always been ineffective on the VAX 11/750.
It is a null routine on the PDP11.
.PP
This call sets up signal handlers to trap arithmetic exceptions
and the use of illegal operands.
Trapping arithmetic exceptions allows the user's program to proceed from
instances of floating point overflow or divide by zero.
The result of such operations will be an illegal floating point value.
The subsequent use of the illegal operand will be trapped
and the operand replaced by the specified value.
.PP
The first
.I numesg
occurrences of a floating point arithmetic error will cause a message
to be written to the standard error file.
If the resulting value is used, the value given for
.I rtnval
will replace the illegal operand generated by the arithmetic error.
.I Rtnval
must be a double precision value. For example, ``0d0'' or ``dflmax()''.
.SH FILES
.ie \nM /usr/ucb/lib/libF77.a
.el /usr/lib/libF77.a
.SH SEE ALSO
trpfpe(3F), signal(3F), range(3F)
.SH BUGS
Other arithmetic exceptions can be trapped but not repaired.
.PP
There is no way to
distinguish between an integer value of 32768 and the illegal
floating point form.
Therefore such an integer value may get replaced while repairing
the use of an illegal operand.