1#ifndef AMREX_EB2_IF_ROTATION_H_
2#define AMREX_EB2_IF_ROTATION_H_
3#include <AMReX_Config.H>
20 :
m_f(std::move(a_f)),
27#if (AMREX_SPACEDIM==2)
35 template <class U=F, std::enable_if_t<IsGPUable<U>::value,
int> = 0>
44#if (AMREX_SPACEDIM==3)
52 return m_f({p[0],
y,
z});
58 return m_f({
x, p[1],
z});
64 return m_f({
x,
y, p[2]});
69 template <class U=F, std::enable_if_t<IsGPUable<U>::value,
int> = 0>
#define AMREX_GPU_HOST_DEVICE
Definition AMReX_GpuQualifiers.H:20
Definition AMReX_EB2_IF_Rotation.H:16
Real operator()(const RealArray &p) const noexcept
Definition AMReX_EB2_IF_Rotation.H:45
int m_dir
Definition AMReX_EB2_IF_Rotation.H:101
Real m_sin_angle
Definition AMReX_EB2_IF_Rotation.H:100
Real m_cos_angle
Definition AMReX_EB2_IF_Rotation.H:99
F m_f
Definition AMReX_EB2_IF_Rotation.H:98
RotationIF(F a_f, Real angle, int dir)
Definition AMReX_EB2_IF_Rotation.H:19
Definition AMReX_FabArrayBase.H:33
constexpr RotationIF< std::decay_t< F > > rotate(F &&f, const Real angle, const int dir)
Definition AMReX_EB2_IF_Rotation.H:110
Array< Real, 3 > RealArray
Definition AMReX_Array.H:26
Definition AMReX_EB2_IF_Base.H:15