ARTS
2.3.1285(git:92a29ea9-dirty)
debug.h
Go to the documentation of this file.
1
/* Copyright (C) 2013
2
Oliver Lemke <olemke@core-dump.info>
3
4
This program is free software; you can redistribute it and/or modify it
5
under the terms of the GNU General Public License as published by the
6
Free Software Foundation; either version 2, or (at your option) any
7
later version.
8
9
This program is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
GNU General Public License for more details.
13
14
You should have received a copy of the GNU General Public License
15
along with this program; if not, write to the Free Software
16
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
17
USA. */
18
27
#ifndef debug_h
28
#define debug_h
29
30
#ifndef NDEBUG
31
32
#include <iostream>
33
34
// Use this macro around function parameter names and variable definitions
35
// which are only used in assertions
36
#define DEBUG_ONLY(...) __VA_ARGS__
37
38
// Use this macro to output a counter value everytime a
39
// certain place is reached
40
#define DEBUG_COUNTER(n) \
41
{ \
42
static Index n = 0; \
43
std::cerr << "DBG: " << #n << ": " << ++n << std::endl; \
44
}
45
46
// Print value of expression for debugging
47
#define DEBUG_PRINT(e) \
48
{ std::cerr << "DBG: " << (e) << std::endl; }
49
50
// Print expression and value for debugging
51
#define DEBUG_VAR(e) \
52
{ std::cerr << "DBG: " << #e << ": " << (e) << std::endl; }
53
54
// Print expression and value with the given fp precision for debugging
55
#define DEBUG_VAR_FLT(p, e) \
56
{ \
57
std::streamsize old_p = std::cerr.precision(); \
58
std::cerr << "DBG: " << #e << ": " << std::setprecision(p) << (e) \
59
<< std::endl \
60
<< std::setprecision(old_p); \
61
}
62
63
#else
64
65
#define DEBUG_ONLY(...)
66
67
#define DEBUG_COUNTER(n)
68
69
#define DEBUG_PRINT(e)
70
71
#define DEBUG_VAR(e)
72
73
#define DEBUG_VAR_FLT(p, e)
74
75
#endif
/* NDEBUG */
76
77
#endif
/* debug_h */
arts
src
debug.h
Generated on Wed Oct 7 2020 09:58:19 for ARTS by
1.8.13