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)
28 [[nodiscard]]
inline Real operator() (
const RealArray& p)
const noexcept
35 template <class U=F, std::enable_if_t<IsGPUable<U>::value,
int> = 0>
37 Real operator() (Real
x, Real y)
const noexcept
44#if (AMREX_SPACEDIM==3)
45 [[nodiscard]]
inline Real operator() (
const RealArray& p)
const noexcept
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>
71 Real operator() (Real
x, Real y, Real z)
const noexcept
#define AMREX_GPU_HOST_DEVICE
Definition AMReX_GpuQualifiers.H:20
Definition AMReX_EB2_IF_Rotation.H:16
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:32
constexpr RotationIF< std::decay_t< F > > rotate(F &&f, const Real angle, const int dir)
Definition AMReX_EB2_IF_Rotation.H:110
Array< Real, AMREX_SPACEDIM > RealArray
Definition AMReX_Array.H:26
Definition AMReX_EB2_IF_Base.H:15