aboutsummaryrefslogtreecommitdiff
path: root/Source/Particles/ParticleCreation
diff options
context:
space:
mode:
authorGravatar Andrew Myers <atmyers2@gmail.com> 2020-02-05 10:19:20 -0800
committerGravatar Andrew Myers <atmyers2@gmail.com> 2020-02-05 10:19:20 -0800
commite3f379fd4a19a0c7f540c65f51da9f7531a0d32c (patch)
treeb3a5e7be14e10bed5193933897911f2877eb541f /Source/Particles/ParticleCreation
parent8a22bb7897053a31c07e163bd40e4d1667051122 (diff)
downloadWarpX-e3f379fd4a19a0c7f540c65f51da9f7531a0d32c.tar.gz
WarpX-e3f379fd4a19a0c7f540c65f51da9f7531a0d32c.tar.zst
WarpX-e3f379fd4a19a0c7f540c65f51da9f7531a0d32c.zip
include a model for a transform callable
Diffstat (limited to 'Source/Particles/ParticleCreation')
-rw-r--r--Source/Particles/ParticleCreation/FilterCopyTransform.H16
1 files changed, 16 insertions, 0 deletions
diff --git a/Source/Particles/ParticleCreation/FilterCopyTransform.H b/Source/Particles/ParticleCreation/FilterCopyTransform.H
index 9a5ffa6a8..6dcb2a1e5 100644
--- a/Source/Particles/ParticleCreation/FilterCopyTransform.H
+++ b/Source/Particles/ParticleCreation/FilterCopyTransform.H
@@ -32,6 +32,14 @@
* \param copy callable that defines what will be done for the "copy" step.
* \param transform callable that defines the transformation to apply on dst and src.
*
+ * The form of the callable should model:
+ * template <typename DstData, typename SrcData>
+ * AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
+ * void operator() (DstData& dst, SrcData& src, int i_src, int i_dst);
+ *
+ * where dst and src refer to the destination and source tiles and
+ * i_src and i_dst and the particle indices in each tile.
+ *
* \return num_added the number of particles that were written to dst.
*/
template <typename DstTile, typename SrcTile, typename Index,
@@ -95,6 +103,14 @@ Index filterCopyTransformParticles (DstTile& dst, SrcTile& src, Index* mask, Ind
* \param copy callable that defines what will be done for the "copy" step.
* \param transform callable that defines the transformation to apply on dst and src.
*
+ * The form of the callable should model:
+ * template <typename DstData, typename SrcData>
+ * AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
+ * void operator() (DstData& dst, SrcData& src, int i_src, int i_dst);
+ *
+ * where dst and src refer to the destination and source tiles and
+ * i_src and i_dst and the particle indices in each tile.
+ *
* \return num_added the number of particles that were written to dst.
*/
template <typename DstTile, typename SrcTile, typename Index,