Namespace for encapsulating loop types.
More...
|
template<typename Functor > |
ALWAYS_INLINE void | loop (const Box &a_computeBox, Functor &&kernel, const IntVect &a_stride=IntVect::Unit) |
| Launch a C++ kernel over a regular grid. More...
|
|
template<typename Functor > |
ALWAYS_INLINE void | loop (const IntVectSet &a_ivs, Functor &&a_kernel) |
| Launch a C++ kernel over a subset of cells. More...
|
|
template<typename Functor > |
ALWAYS_INLINE void | loop (const DenseIntVectSet &a_ivs, Functor &&a_kernel) |
| Launch a C++ kernel over a subset of cells. More...
|
|
template<typename Functor > |
ALWAYS_INLINE void | loop (VoFIterator &a_iter, Functor &&a_kernel) |
| Launch a C++ kernel over cut-cells. More...
|
|
template<typename Functor > |
ALWAYS_INLINE void | loop (FaceIterator &a_iter, Functor &&a_kernel) |
| Launch a C++ kernel over faces. More...
|
|
template<typename T , typename Functor > |
ALWAYS_INLINE void | loop (const Vector< T > &a_subset, Functor &&a_kernel) |
| Launch a C++ kernel over a specified subset of something. More...
|
|
Namespace for encapsulating loop types.
◆ loop() [1/6]
template<typename Functor >
ALWAYS_INLINE void BoxLoops::loop |
( |
const Box & |
a_computeBox, |
|
|
Functor && |
kernel, |
|
|
const IntVect & |
a_stride = IntVect::Unit |
|
) |
| |
Launch a C++ kernel over a regular grid.
The stride argument lets the user use different strides along the different coordinate axes. The default is to use a stride of one along each coordinate. Note that the stride must be positive for each coordinate axis.
- Parameters
-
[in] | a_computeBox | Computation box |
[in,out] | a_kernel | Kernel to launch. |
[in] | a_stride | Stride for each loop. |
◆ loop() [2/6]
template<typename Functor >
ALWAYS_INLINE void BoxLoops::loop |
( |
const DenseIntVectSet & |
a_ivs, |
|
|
Functor && |
a_kernel |
|
) |
| |
Launch a C++ kernel over a subset of cells.
- Parameters
-
[in,out] | a_cells | Grid cells where we launch the kernel. |
[in,out] | a_kernel | Kernel to launch |
◆ loop() [3/6]
template<typename Functor >
ALWAYS_INLINE void BoxLoops::loop |
( |
const IntVectSet & |
a_ivs, |
|
|
Functor && |
a_kernel |
|
) |
| |
Launch a C++ kernel over a subset of cells.
- Parameters
-
[in,out] | a_cells | Grid cells where we launch the kernel. |
[in,out] | a_kernel | Kernel to launch |
◆ loop() [4/6]
template<typename T , typename Functor >
ALWAYS_INLINE void BoxLoops::loop |
( |
const Vector< T > & |
a_subset, |
|
|
Functor && |
a_kernel |
|
) |
| |
Launch a C++ kernel over a specified subset of something.
- Parameters
-
[in,out] | a_subset | Subset. E.g. a std::vector<VolIndex> |
[in,out] | a_kernel | Kernel to launch |
◆ loop() [5/6]
template<typename Functor >
ALWAYS_INLINE void BoxLoops::loop |
( |
FaceIterator & |
a_iter, |
|
|
Functor && |
a_kernel |
|
) |
| |
Launch a C++ kernel over faces.
- Parameters
-
[in,out] | a_faceit | Grid faces where we launch the kernel. |
[in,out] | a_kernel | Kernel to launch |
◆ loop() [6/6]
template<typename Functor >
ALWAYS_INLINE void BoxLoops::loop |
( |
VoFIterator & |
a_iter, |
|
|
Functor && |
a_kernel |
|
) |
| |
Launch a C++ kernel over cut-cells.
- Parameters
-
[in,out] | a_vofit | Grid cells where we launch the kernel. |
[in,out] | a_kernel | Kernel to launch |