MRMD
0.4.0
Multi Resolution Molecular Dynamics
Loading...
Searching...
No Matches
host.hpp
Go to the documentation of this file.
1
// Copyright 2024 Sebastian Eibl
2
// Copyright 2026 Julian Friedrich Hille
3
//
4
// Licensed under the Apache License, Version 2.0 (the "License");
5
// you may not use this file except in compliance with the License.
6
// You may obtain a copy of the License at
7
//
8
// https://www.apache.org/licenses/LICENSE-2.0
9
//
10
// Unless required by applicable law or agreed to in writing, software
11
// distributed under the License is distributed on an "AS IS" BASIS,
12
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
// See the License for the specific language governing permissions and
14
// limitations under the License.
15
16
#pragma once
17
18
#include "
verbose.hpp
"
19
20
#define MRMD_HOST_CHECK_1(X) \
21
{ \
22
MRMD_VERBOSE_CHECK_1(X) \
23
}
24
#define MRMD_HOST_CHECK_2(X, MSG) \
25
{ \
26
MRMD_VERBOSE_CHECK_2(X, MSG) \
27
}
28
29
#define MRMD_HOST_CHECK_NULLPTR_1(X) \
30
{ \
31
MRMD_VERBOSE_CHECK_NULLPTR_1(X) \
32
}
33
#define MRMD_HOST_CHECK_NULLPTR_2(X, MSG) \
34
{ \
35
MRMD_VERBOSE_CHECK_NULLPTR_2(X, MSG) \
36
}
37
38
#define MRMD_HOST_CHECK_NOT_NULLPTR_1(X) \
39
{ \
40
MRMD_VERBOSE_CHECK_NOT_NULLPTR_1(X) \
41
}
42
#define MRMD_HOST_CHECK_NOT_NULLPTR_2(X, MSG) \
43
{ \
44
MRMD_VERBOSE_CHECK_NOT_NULLPTR_2(X, MSG) \
45
}
46
47
#define MRMD_HOST_CHECK_EQUAL_2(X, Y) \
48
{ \
49
MRMD_VERBOSE_CHECK_EQUAL_2(X, Y) \
50
}
51
#define MRMD_HOST_CHECK_EQUAL_3(X, Y, MSG) \
52
{ \
53
MRMD_VERBOSE_CHECK_EQUAL_3(X, Y, MSG) \
54
}
55
56
#define MRMD_HOST_CHECK_FLOAT_EQUAL_2(X, Y) \
57
{ \
58
MRMD_VERBOSE_CHECK_FLOAT_EQUAL_2(X, Y) \
59
}
60
#define MRMD_HOST_CHECK_FLOAT_EQUAL_3(X, Y, MSG) \
61
{ \
62
MRMD_VERBOSE_CHECK_FLOAT_EQUAL_3(X, Y, MSG) \
63
}
64
65
#define MRMD_HOST_CHECK_NOT_EQUAL_2(X, Y) \
66
{ \
67
MRMD_VERBOSE_CHECK_NOT_EQUAL_2(X, Y) \
68
}
69
#define MRMD_HOST_CHECK_NOT_EQUAL_3(X, Y, MSG) \
70
{ \
71
MRMD_VERBOSE_CHECK_NOT_EQUAL_3(X, Y, MSG) \
72
}
73
74
#define MRMD_HOST_CHECK_GREATER_2(X, Y) \
75
{ \
76
MRMD_VERBOSE_CHECK_GREATER_2(X, Y) \
77
}
78
#define MRMD_HOST_CHECK_GREATER_3(X, Y, MSG) \
79
{ \
80
MRMD_VERBOSE_CHECK_GREATER_3(X, Y, MSG) \
81
}
82
83
#define MRMD_HOST_CHECK_LESS_2(X, Y) \
84
{ \
85
MRMD_VERBOSE_CHECK_LESS_2(X, Y) \
86
}
87
#define MRMD_HOST_CHECK_LESS_3(X, Y, MSG) \
88
{ \
89
MRMD_VERBOSE_CHECK_LESS_3(X, Y, MSG) \
90
}
91
92
#define MRMD_HOST_CHECK_GREATEREQUAL_2(X, Y) \
93
{ \
94
MRMD_VERBOSE_CHECK_GREATEREQUAL_2(X, Y) \
95
}
96
#define MRMD_HOST_CHECK_GREATEREQUAL_3(X, Y, MSG) \
97
{ \
98
MRMD_VERBOSE_CHECK_GREATEREQUAL_3(X, Y, MSG) \
99
}
100
101
#define MRMD_HOST_CHECK_LESSEQUAL_2(X, Y) \
102
{ \
103
MRMD_VERBOSE_CHECK_LESSEQUAL_2(X, Y) \
104
}
105
#define MRMD_HOST_CHECK_LESSEQUAL_3(X, Y, MSG) \
106
{ \
107
MRMD_VERBOSE_CHECK_LESSEQUAL_3(X, Y, MSG) \
108
}
109
110
#define MRMD_HOST_CHECK(...) MACRO_OVERLOAD(MRMD_HOST_CHECK_, __VA_ARGS__)
111
#define MRMD_HOST_CHECK_NULLPTR(...) MACRO_OVERLOAD(MRMD_HOST_CHECK_NULLPTR_, __VA_ARGS__)
112
#define MRMD_HOST_CHECK_NOT_NULLPTR(...) MACRO_OVERLOAD(MRMD_HOST_CHECK_NOT_NULLPTR_, __VA_ARGS__)
113
#define MRMD_HOST_CHECK_EQUAL(...) MACRO_OVERLOAD(MRMD_HOST_CHECK_EQUAL_, __VA_ARGS__)
114
#define MRMD_HOST_CHECK_FLOAT_EQUAL(...) MACRO_OVERLOAD(MRMD_HOST_CHECK_FLOAT_EQUAL_, __VA_ARGS__)
115
#define MRMD_HOST_CHECK_NOT_EQUAL(...) MACRO_OVERLOAD(MRMD_HOST_CHECK_NOT_EQUAL_, __VA_ARGS__)
116
#define MRMD_HOST_CHECK_GREATER(...) MACRO_OVERLOAD(MRMD_HOST_CHECK_GREATER_, __VA_ARGS__)
117
#define MRMD_HOST_CHECK_LESS(...) MACRO_OVERLOAD(MRMD_HOST_CHECK_LESS_, __VA_ARGS__)
118
#define MRMD_HOST_CHECK_GREATEREQUAL(...) MACRO_OVERLOAD(MRMD_HOST_CHECK_GREATEREQUAL_, __VA_ARGS__)
119
#define MRMD_HOST_CHECK_LESSEQUAL(...) MACRO_OVERLOAD(MRMD_HOST_CHECK_LESSEQUAL_, __VA_ARGS__)
120
121
#ifndef NDEBUG
122
#define MRMD_HOST_ASSERT_1(X) \
123
{ \
124
MRMD_VERBOSE_CHECK_1(X) \
125
}
126
#define MRMD_HOST_ASSERT_2(X, MSG) \
127
{ \
128
MRMD_VERBOSE_CHECK_2(X, MSG) \
129
}
130
131
#define MRMD_HOST_ASSERT_NULLPTR_1(X) \
132
{ \
133
MRMD_VERBOSE_CHECK_NULLPTR_1(X) \
134
}
135
#define MRMD_HOST_ASSERT_NULLPTR_2(X, MSG) \
136
{ \
137
MRMD_VERBOSE_CHECK_NULLPTR_2(X, MSG) \
138
}
139
140
#define MRMD_HOST_ASSERT_NOT_NULLPTR_1(X) \
141
{ \
142
MRMD_VERBOSE_CHECK_NOT_NULLPTR_1(X) \
143
}
144
#define MRMD_HOST_ASSERT_NOT_NULLPTR_2(X, MSG) \
145
{ \
146
MRMD_VERBOSE_CHECK_NOT_NULLPTR_2(X, MSG) \
147
}
148
149
#define MRMD_HOST_ASSERT_EQUAL_2(X, Y) \
150
{ \
151
MRMD_VERBOSE_CHECK_EQUAL_2(X, Y) \
152
}
153
#define MRMD_HOST_ASSERT_EQUAL_3(X, Y, MSG) \
154
{ \
155
MRMD_VERBOSE_CHECK_EQUAL_3(X, Y, MSG) \
156
}
157
158
#define MRMD_HOST_ASSERT_FLOAT_EQUAL_2(X, Y) \
159
{ \
160
MRMD_VERBOSE_CHECK_FLOAT_EQUAL_2(X, Y) \
161
}
162
#define MRMD_HOST_ASSERT_FLOAT_EQUAL_3(X, Y, MSG) \
163
{ \
164
MRMD_VERBOSE_CHECK_FLOAT_EQUAL_3(X, Y, MSG) \
165
}
166
167
#define MRMD_HOST_ASSERT_NOT_EQUAL_2(X, Y) \
168
{ \
169
MRMD_VERBOSE_CHECK_NOT_EQUAL_2(X, Y) \
170
}
171
#define MRMD_HOST_ASSERT_NOT_EQUAL_3(X, Y, MSG) \
172
{ \
173
MRMD_VERBOSE_CHECK_NOT_EQUAL_3(X, Y, MSG) \
174
}
175
176
#define MRMD_HOST_ASSERT_GREATER_2(X, Y) \
177
{ \
178
MRMD_VERBOSE_CHECK_GREATER_2(X, Y) \
179
}
180
#define MRMD_HOST_ASSERT_GREATER_3(X, Y, MSG) \
181
{ \
182
MRMD_VERBOSE_CHECK_GREATER_3(X, Y, MSG) \
183
}
184
185
#define MRMD_HOST_ASSERT_LESS_2(X, Y) \
186
{ \
187
MRMD_VERBOSE_CHECK_LESS_2(X, Y) \
188
}
189
#define MRMD_HOST_ASSERT_LESS_3(X, Y, MSG) \
190
{ \
191
MRMD_VERBOSE_CHECK_LESS_3(X, Y, MSG) \
192
}
193
194
#define MRMD_HOST_ASSERT_GREATEREQUAL_2(X, Y) \
195
{ \
196
MRMD_VERBOSE_CHECK_GREATEREQUAL_2(X, Y) \
197
}
198
#define MRMD_HOST_ASSERT_GREATEREQUAL_3(X, Y, MSG) \
199
{ \
200
MRMD_VERBOSE_CHECK_GREATEREQUAL_3(X, Y, MSG) \
201
}
202
203
#define MRMD_HOST_ASSERT_LESSEQUAL_2(X, Y) \
204
{ \
205
MRMD_VERBOSE_CHECK_LESSEQUAL_2(X, Y) \
206
}
207
#define MRMD_HOST_ASSERT_LESSEQUAL_3(X, Y, MSG) \
208
{ \
209
MRMD_VERBOSE_CHECK_LESSEQUAL_3(X, Y, MSG) \
210
}
211
212
#else
213
214
#define MRMD_HOST_ASSERT_1(X) \
215
{ \
216
}
217
#define MRMD_HOST_ASSERT_2(X, MSG) \
218
{ \
219
}
220
221
#define MRMD_HOST_ASSERT_NULLPTR_1(X) \
222
{ \
223
}
224
#define MRMD_HOST_ASSERT_NULLPTR_2(X, MSG) \
225
{ \
226
}
227
228
#define MRMD_HOST_ASSERT_NOT_NULLPTR_1(X) \
229
{ \
230
}
231
#define MRMD_HOST_ASSERT_NOT_NULLPTR_2(X, MSG) \
232
{ \
233
}
234
235
#define MRMD_HOST_ASSERT_EQUAL_2(X, Y) \
236
{ \
237
}
238
#define MRMD_HOST_ASSERT_EQUAL_3(X, Y, MSG) \
239
{ \
240
}
241
242
#define MRMD_HOST_ASSERT_NOT_EQUAL_2(X, Y) \
243
{ \
244
}
245
#define MRMD_HOST_ASSERT_NOT_EQUAL_3(X, Y, MSG) \
246
{ \
247
}
248
249
#define MRMD_HOST_ASSERT_GREATER_2(X, Y) \
250
{ \
251
}
252
#define MRMD_HOST_ASSERT_GREATER_3(X, Y, MSG) \
253
{ \
254
}
255
256
#define MRMD_HOST_ASSERT_LESS_2(X, Y) \
257
{ \
258
}
259
#define MRMD_HOST_ASSERT_LESS_3(X, Y, MSG) \
260
{ \
261
}
262
263
#define MRMD_HOST_ASSERT_GREATEREQUAL_2(X, Y) \
264
{ \
265
}
266
#define MRMD_HOST_ASSERT_GREATEREQUAL_3(X, Y, MSG) \
267
{ \
268
}
269
270
#define MRMD_HOST_ASSERT_LESSEQUAL_2(X, Y) \
271
{ \
272
}
273
#define MRMD_HOST_ASSERT_LESSEQUAL_3(X, Y, MSG) \
274
{ \
275
}
276
277
#endif
278
279
#define MRMD_HOST_ASSERT(...) MACRO_OVERLOAD(MRMD_HOST_ASSERT_, __VA_ARGS__)
280
#define MRMD_HOST_ASSERT_NULLPTR(...) MACRO_OVERLOAD(MRMD_HOST_ASSERT_NULLPTR_, __VA_ARGS__)
281
#define MRMD_HOST_ASSERT_NOT_NULLPTR(...) MACRO_OVERLOAD(MRMD_HOST_ASSERT_NOT_NULLPTR_, __VA_ARGS__)
282
#define MRMD_HOST_ASSERT_EQUAL(...) MACRO_OVERLOAD(MRMD_HOST_ASSERT_EQUAL_, __VA_ARGS__)
283
#define MRMD_HOST_ASSERT_FLOAT_EQUAL(...) MACRO_OVERLOAD(MRMD_HOST_ASSERT_FLOAT_EQUAL_, __VA_ARGS__)
284
#define MRMD_HOST_ASSERT_NOT_EQUAL(...) MACRO_OVERLOAD(MRMD_HOST_ASSERT_NOT_EQUAL_, __VA_ARGS__)
285
#define MRMD_HOST_ASSERT_GREATER(...) MACRO_OVERLOAD(MRMD_HOST_ASSERT_GREATER_, __VA_ARGS__)
286
#define MRMD_HOST_ASSERT_LESS(...) MACRO_OVERLOAD(MRMD_HOST_ASSERT_LESS_, __VA_ARGS__)
287
#define MRMD_HOST_ASSERT_GREATEREQUAL(...) \
288
MACRO_OVERLOAD(MRMD_HOST_ASSERT_GREATEREQUAL_, __VA_ARGS__)
289
#define MRMD_HOST_ASSERT_LESSEQUAL(...) MACRO_OVERLOAD(MRMD_HOST_ASSERT_LESSEQUAL_, __VA_ARGS__)
verbose.hpp
mrmd
assert
host.hpp
Generated by
1.9.8