master
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6
7#include <math.h>
8#include <stdio.h>
9
10int __CRTDECL
11_matherr (struct _exception *pexcept)
12{
13 const char * type;
14
15 switch(pexcept->type)
16 {
17 case _DOMAIN:
18 type = "Argument domain error (DOMAIN)";
19 break;
20
21 case _SING:
22 type = "Argument singularity (SIGN)";
23 break;
24
25 case _OVERFLOW:
26 type = "Overflow range error (OVERFLOW)";
27 break;
28
29 case _PLOSS:
30 type = "Partial loss of significance (PLOSS)";
31 break;
32
33 case _TLOSS:
34 type = "Total loss of significance (TLOSS)";
35 break;
36
37 case _UNDERFLOW:
38 type = "The result is too small to be represented (UNDERFLOW)";
39 break;
40
41 default:
42 type = "Unknown error";
43 break;
44 }
45
46 fprintf (stderr, "_matherr(): %s in %s(%g, %g) (retval=%g)\n",
47 type, pexcept->name, pexcept->arg1, pexcept->arg2, pexcept->retval);
48 return 0;
49}
50