Loading [MathJax]/extensions/tex2jax.js
ug4
Toggle main menu visibility
ug4
Modules
ugBase
libAlgebra
libDiscretization
libGrid
Plugins
Registry
Scripts
Apps
Namespaces
Namespace List
Namespace Members
All
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Functions
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
a
b
c
d
e
f
g
i
j
l
m
n
o
p
q
s
t
u
v
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
o
p
q
r
s
t
v
Enumerations
a
c
d
e
f
g
i
k
l
m
n
o
p
r
s
t
u
v
Enumerator
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
v
x
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
Enumerations
a
b
c
e
f
g
h
m
n
o
p
r
s
t
v
Enumerator
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
x
Related Symbols
a
b
c
d
f
g
h
i
k
l
m
n
o
p
s
t
v
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
e
g
l
n
o
p
r
s
u
v
y
Typedefs
Enumerations
Enumerator
b
g
l
n
t
y
Macros
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
u
v
w
y
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Modules
Pages
Loading...
Searching...
No Matches
assert.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2010-2015: G-CSC, Goethe University Frankfurt
3
* Author: Andreas Vogel
4
*
5
* This file is part of UG4.
6
*
7
* UG4 is free software: you can redistribute it and/or modify it under the
8
* terms of the GNU Lesser General Public License version 3 (as published by the
9
* Free Software Foundation) with the following additional attribution
10
* requirements (according to LGPL/GPL v3 §7):
11
*
12
* (1) The following notice must be displayed in the Appropriate Legal Notices
13
* of covered and combined works: "Based on UG4 (www.ug4.org/license)".
14
*
15
* (2) The following notice must be displayed at a prominent place in the
16
* terminal output of covered works: "Based on UG4 (www.ug4.org/license)".
17
*
18
* (3) The following bibliography is recommended for citation and must be
19
* preserved in all covered files:
20
* "Reiter, S., Vogel, A., Heppner, I., Rupp, M., and Wittum, G. A massively
21
* parallel geometric multigrid solver on hierarchically distributed grids.
22
* Computing and visualization in science 16, 4 (2013), 151-164"
23
* "Vogel, A., Reiter, S., Rupp, M., Nägel, A., and Wittum, G. UG4 -- a novel
24
* flexible software system for simulating pde based models on high performance
25
* computers. Computing and visualization in science 16, 4 (2013), 165-179"
26
*
27
* This program is distributed in the hope that it will be useful,
28
* but WITHOUT ANY WARRANTY; without even the implied warranty of
29
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
30
* GNU Lesser General Public License for more details.
31
*/
32
33
#ifndef __H__COMMON__ASSERT__
34
#define __H__COMMON__ASSERT__
35
36
#include <cassert>
37
#include "
common/log.h
"
38
#include "
ug_config.h
"
39
42
43
#define UG_TO_STRING1(x) #x
44
#define UG_TO_STRING(x) UG_TO_STRING1(x)
45
47
// UG_ASSERT
49
66
UG_API
void
ug_assert_failed
();
67
68
#ifndef NDEBUG
69
70
#define UG_ASSERT(expr, msg) {if(!(expr)) \
71
{ \
72
UG_LOG_ALL_PROCS( "\n UG_ASSERT failed:\n"\
73
" Condition: " << UG_TO_STRING(expr) << "\n"\
74
" Description: " << msg << "\n"\
75
" File: " << __FILE__ << "\n"\
76
" Line: " << __LINE__ << "\n\n"); \
77
ug_assert_failed(); \
78
UG_LOG_ALL_PROCS( "\n UG_ASSERT failed:\n"\
79
" Condition: " << UG_TO_STRING(expr) << "\n"\
80
" Description: " << msg << "\n"\
81
" File: " << __FILE__ << "\n"\
82
" Line: " << __LINE__ << "\n\n"); \
83
assert(expr);\
84
}}
70
#define UG_ASSERT(expr, msg) {if(!(expr)) \
…
85
#else
/* NDEBUG */
86
#define UG_ASSERT(expr, msg) {}
87
#endif
88
89
// end group ugbase_common
91
92
#endif
/* __H__COMMON__ASSERT__ */
UG_API
#define UG_API
Definition
ug_config.h:65
ug_assert_failed
UG_API void ug_assert_failed()
Checks an expression at runtime and raises a runtime-error if the expression equals 0.
Definition
assert.cpp:154
log.h
ug_config.h
ugbase
common
assert.h
Generated on Mon Feb 24 2025 01:13:17 for ug4 by
1.9.8