Libsunmath Support For Ieee Modes And Exceptions - Sun Microsystems SunSoft Pascal 4.0 User Manual

Hewlett-packard user guide printer printer
Table of Contents

Advertisement

11

libsunmath Support for IEEE Modes and Exceptions

242
ieee_handler() is used primarily to establish a signal handler for a
particular floating-point exception or group of exceptions.
The syntax of this function is described in the ieee_handler(3M) man page.
This following Pascal program demonstrates how to abort on division by zero.
program TestIEEEHandler(output);
#include <math_p.h>
procedure DivisionHandler(
sig: integer;
sip: univ_ptr;
uap: univ_ptr);
begin
writeln('Bad data - division by zero.');
end; { DivisionHandler }
var
FpAction, FpException: string;
Zero: integer := 0;
begin
FpAction := 'set';
FpException := 'division';
writeln(ieee_handler(FpAction, FpException,
addr(DivisionHandler)));
writeln('1/0 = ', 1 / Zero);
writeln(ieee_handler(FpAction, FpException, SIGFPE_DEFAULT));
writeln('1/0 = ', 1 / Zero);
end.
ieee_flags() is the recommended interface to:
Query or set rounding direction mode
Query or set rounding precision mode
Examine, clear, or set accrued exception flags
Pascal 4.0 User's Guide

Advertisement

Table of Contents
loading

Table of Contents