File Coverage

lib/PDL/Math/mtherr.c
Criterion Covered Total %
statement 0 7 0.0
branch 0 4 0.0
condition n/a
subroutine n/a
pod n/a
total 0 11 0.0


line stmt bran cond sub pod time code
1             /* mtherr.c
2             *
3             * Library common error handling routine
4             *
5             *
6             *
7             * SYNOPSIS:
8             *
9             * char *fctnam;
10             * int code;
11             * int mtherr();
12             *
13             * mtherr( fctnam, code );
14             *
15             *
16             *
17             * DESCRIPTION:
18             *
19             * This routine may be called to report one of the following
20             * error conditions (in the include file mconf.h).
21             *
22             * Mnemonic Value Significance
23             *
24             * DOMAIN 1 argument domain error
25             * SING 2 function singularity
26             * OVERFLOW 3 overflow range error
27             * UNDERFLOW 4 underflow range error
28             * TLOSS 5 total loss of precision
29             * PLOSS 6 partial loss of precision
30             * EDOM 33 Unix domain error code
31             * ERANGE 34 Unix range error code
32             *
33             * The default version of the file prints the function name,
34             * passed to it by the pointer fctnam, followed by the
35             * error condition. The display is directed to the standard
36             * output device. The routine then returns to the calling
37             * program. Users may wish to modify the program to abort by
38             * calling exit() under severe error conditions such as domain
39             * errors.
40             *
41             * Since all error conditions pass control to this function,
42             * the display may be easily changed, eliminated, or directed
43             * to an error logging device.
44             *
45             * SEE ALSO:
46             *
47             * mconf.h
48             *
49             */
50            
51             /*
52             Cephes Math Library Release 2.0: April, 1987
53             Copyright 1984, 1987 by Stephen L. Moshier
54             Direct inquiries to 30 Frost Street, Cambridge, MA 02140
55             */
56              
57             #include
58             #include "mconf.h"
59              
60             int merror = 0;
61              
62             /* Notice: the order of appearance of the following
63             * messages is bound to the error codes defined
64             * in mconf.h.
65             */
66             static char *ermsg[7] = {
67             "unknown", /* error code 0 */
68             "domain", /* error code 1 */
69             "singularity", /* et seq. */
70             "overflow",
71             "underflow",
72             "total loss of precision",
73             "partial loss of precision"
74             };
75              
76              
77 0           int mtherr( char *name, int code )
78             {
79              
80             /* Display string passed by calling program,
81             * which is supposed to be the name of the
82             * function in which the error occurred:
83             */
84 0           printf( "\n%s ", name );
85              
86             /* Set global error message word */
87 0           merror = code;
88              
89             /* Display error message defined
90             * by the code argument.
91             */
92 0 0         if( (code <= 0) || (code >= 7) )
    0          
93 0           code = 0;
94 0           printf( "%s error\n", ermsg[code] );
95              
96             /* Return to calling
97             * program
98             */
99 0           return( 0 );
100             }