guanaqo 1.0.0-alpha.26
Utilities for scientific software
Loading...
Searching...
No Matches
openmp.h
Go to the documentation of this file.
1#pragma once
2
3/// @file
4/// @ingroup macros
5/// OpenMP helpers.
6
8#include <guanaqo/stringify.h>
9
10/// @def GUANAQO_OMP(X)
11/// @ingroup macros
12/// Emit the OpenMP pragma @p X if OpenMP is enabled.
13
14/// @def GUANAQO_OMP_IF_ELSE(X, Y)
15/// @ingroup macros
16/// Emit @p X if OpenMP is enabled, otherwise emit @p Y.
17
18/// @def GUANAQO_OMP_IF(X)
19/// @ingroup macros
20/// Emit @p X if OpenMP is enabled, otherwise emit nothing.
21
22#if GUANAQO_WITH_OPENMP
23#include <omp.h>
24#define GUANAQO_OMP(X) _Pragma(GUANAQO_STRINGIFY(omp X))
25#define GUANAQO_OMP_IF_ELSE(X, Y) X
26#define GUANAQO_OMP_IF(X) X
27#else
28#define GUANAQO_OMP(X)
29#define GUANAQO_OMP_IF_ELSE(X, Y) Y
30#define GUANAQO_OMP_IF(X) GUANAQO_NOOP()
31#endif
Token concatenation and argument-counting helpers.
Stringify and token concatenation helpers.