02.07.2013 Views

A/UX® Programmer's Reference Sections

A/UX® Programmer's Reference Sections

A/UX® Programmer's Reference Sections

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

matherr(3M) rnatherr(3M)<br />

table below. In every case, errno is set to EDOM or ERANGE and<br />

the program continues.<br />

EXAMPLES<br />

iinclude <br />

int<br />

matherr(x)<br />

register struct exception *x;<br />

{<br />

switch (x->type) {<br />

case DOMAIN:<br />

1* change sqrt to return sqrt(-arg1), not 0 *1<br />

if (!strcmp(x->name, "sqrt"» {<br />

x->retval = sqrt(-x->arg1);<br />

return (0); 1* print message and set errno *1<br />

February, 1990<br />

Revision C<br />

case SING:<br />

1* all other domain or sing errors,<br />

print message and abort *1<br />

fprintf(stderr, "domain error in %s\n", x->name);<br />

abort ( );<br />

case PLOSS:<br />

1* print detailed error message *1<br />

fprintf(stderr, "loss of significance in %s(%g)<br />

x->name, x->arg1, x->retval);<br />

return (1); 1* take no other action *1<br />

return (0); 1* all other errors,<br />

execute default procedure *1<br />

2<br />

%g\n",

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!