1 | /* debug.h |
---|
2 | * SURVEX debugging info control macros |
---|
3 | * Copyright (C) 1993-1996,2001,2002 Olly Betts |
---|
4 | * |
---|
5 | * This program is free software; you can redistribute it and/or modify |
---|
6 | * it under the terms of the GNU General Public License as published by |
---|
7 | * the Free Software Foundation; either version 2 of the License, or |
---|
8 | * (at your option) any later version. |
---|
9 | * |
---|
10 | * This program is distributed in the hope that it will be useful, |
---|
11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
13 | * GNU General Public License for more details. |
---|
14 | * |
---|
15 | * You should have received a copy of the GNU General Public License |
---|
16 | * along with this program; if not, write to the Free Software |
---|
17 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
---|
18 | */ |
---|
19 | |
---|
20 | /*#define DEBUG_INVALID 1*/ |
---|
21 | |
---|
22 | #ifndef DEBUG_H |
---|
23 | #define DEBUG_H |
---|
24 | #include "useful.h" |
---|
25 | #include "message.h" /* for fatalerror() */ |
---|
26 | |
---|
27 | /* turn periodic calls to validate() checks on/off */ |
---|
28 | #ifndef VALIDATE |
---|
29 | # define VALIDATE 0 |
---|
30 | #endif |
---|
31 | |
---|
32 | /* turn on dumping of network data structure (lots of output) */ |
---|
33 | #ifndef DUMP_NETWORK |
---|
34 | # define DUMP_NETWORK 0 |
---|
35 | #endif |
---|
36 | |
---|
37 | /* elaborate if data structure becomes invalid */ |
---|
38 | #ifndef DEBUG_INVALID |
---|
39 | # define DEBUG_INVALID 0 |
---|
40 | #endif |
---|
41 | |
---|
42 | /* macro to report detected bug */ |
---|
43 | #ifdef DEBUG_INVALID |
---|
44 | # define BUG(M) BLK(fputsnl(__FILE__":"STRING(__LINE__)": "M, STDERR);\ |
---|
45 | fatalerror(/*Bug in program detected! Please report this to the authors*/11);) |
---|
46 | #else |
---|
47 | # define BUG(M) fatalerror(/*Bug in program detected! Please report this to the authors*/11) |
---|
48 | #endif |
---|
49 | |
---|
50 | /* assert macro, which calls BUG() if it fails */ |
---|
51 | #define SVX_ASSERT(E) if (E) {} else BUG("assert("#E") failed") |
---|
52 | |
---|
53 | /* assert macro, which calls BUG() if it fails */ |
---|
54 | #define SVX_ASSERT2(E, M) if (E) {} else BUG("assert("#E") failed - "M) |
---|
55 | |
---|
56 | /* datain.c */ |
---|
57 | |
---|
58 | /* general debugging info */ |
---|
59 | #define DEBUG_DATAIN 0 |
---|
60 | /* more (older) debugging info */ |
---|
61 | #define DEBUG_DATAIN_1 0 |
---|
62 | |
---|
63 | /* network.c */ |
---|
64 | |
---|
65 | /* print info generally useful for debugging */ |
---|
66 | #define PRINT_NETBITS 0 |
---|
67 | /* puts '+' for legs 'inside' big (>3) nodes */ |
---|
68 | #define SHOW_INTERNAL_LEGS 0 |
---|
69 | |
---|
70 | /* matrix.c */ |
---|
71 | |
---|
72 | /* print out the matrices */ |
---|
73 | #define PRINT_MATRICES 0 |
---|
74 | /* display info about where we are in algorithm */ |
---|
75 | #define DEBUG_MATRIX 0 |
---|
76 | /* print out bumf as matrix is built from network */ |
---|
77 | #define DEBUG_MATRIX_BUILD 0 |
---|
78 | |
---|
79 | #endif |
---|