Block-Structured AMR Software Framework
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Loading...
Searching...
No Matches
AMReX_Loop.nolint.H
Go to the documentation of this file.
1// Do not include this header anywhere other than AMReX_Loop.H.
2// The purpose of this file is to avoid clang-tidy.
3
4#define AMREX_LOOP_3D(bx, i, j, k, block) \
5{ \
6 const auto amrex_i_lo = amrex::lbound(bx); \
7 const auto amrex_i_hi = amrex::ubound(bx); \
8 for (int k = amrex_i_lo.z; k <= amrex_i_hi.z; ++k) { \
9 for (int j = amrex_i_lo.y; j <= amrex_i_hi.y; ++j) { \
10 for (int i = amrex_i_lo.x; i <= amrex_i_hi.x; ++i) { \
11 AMREX_D_PICK(amrex::ignore_unused(j,k),amrex::ignore_unused(k),(void)0); \
12 block \
13 }}} \
14}
15
16#define AMREX_LOOP_4D(bx, ncomp, i, j, k, n, block) \
17{ \
18 const auto amrex_i_lo = amrex::lbound(bx); \
19 const auto amrex_i_hi = amrex::ubound(bx); \
20 for (int n = 0; n < ncomp; ++n) { \
21 for (int k = amrex_i_lo.z; k <= amrex_i_hi.z; ++k) { \
22 for (int j = amrex_i_lo.y; j <= amrex_i_hi.y; ++j) { \
23 for (int i = amrex_i_lo.x; i <= amrex_i_hi.x; ++i) { \
24 AMREX_D_PICK(amrex::ignore_unused(j,k),amrex::ignore_unused(k),(void)0); \
25 block \
26 }}}} \
27}