![](/images/backgrounds/286549/hp-sunsoft-pascal-4-0-users-manual-549395266x1.png)
11
libsunmath Support for IEEE Modes and Exceptions
ieee_handler() is used primarily to establish a signal handler for a particular
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
242 | Pascal 4.0 User’s Guide |