4#include <AMReX_Config.H>
11# if __cplusplus >= 202002L
12# include <vir/simd_cvt.h>
26 using namespace vir::stdx;
27# if __cplusplus >= 202002L
34 bool any_of (
bool const v) {
return v; }
48 template<
int SIMD_WIDTH = native_simd_size_real>
49 using SIMDReal = stdx::fixed_size_simd<amrex::Real, SIMD_WIDTH>;
51 template<
int SIMD_WIDTH = native_simd_size_particlereal>
52 using SIMDParticleReal = stdx::fixed_size_simd<amrex::ParticleReal, SIMD_WIDTH>;
55 template<
typename T_ParticleReal = SIMDParticleReal<>>
56 using SIMDIdCpu = stdx::rebind_simd_t<std::uint64_t, T_ParticleReal>;
61 template<
int SIMD_WIDTH = native_simd_size_real>
64 template<
int SIMD_WIDTH = native_simd_size_particlereal>
68 template<
typename T_ParticleReal = SIMDParticleReal<>>
102 template<
int SIMD_WIDTH = native_simd_size_real>
107 static constexpr int simd_width = SIMD_WIDTH;
115 constexpr bool is_vectorized = std::is_base_of_v<detail::InternalVectorized, T>;
137 template<
typename R,
typename... Args>
140 constexpr bool val_arr[
sizeof...(Args)] {!std::is_const_v<std::remove_reference_t<Args>>...};
144 template<
typename C,
typename R,
typename... Args>
147 constexpr bool val_arr[
sizeof...(Args)] {!std::is_const_v<std::remove_reference_t<Args>>...};
150 template<
typename C,
typename R,
typename... Args>
153 constexpr bool val_arr[
sizeof...(Args)] {!std::is_const_v<std::remove_reference_t<Args>>...};
#define AMREX_FORCE_INLINE
Definition AMReX_Extension.H:119
#define AMREX_GPU_HOST_DEVICE
Definition AMReX_GpuQualifiers.H:20
AMREX_GPU_HOST_DEVICE bool any_of(bool const v)
Definition AMReX_SIMD.H:34
Definition AMReX_SIMD.H:21
std::uint64_t SIMDIdCpu
Definition AMReX_SIMD.H:69
constexpr auto native_simd_size_real
Definition AMReX_SIMD.H:58
constexpr bool is_vectorized
Definition AMReX_SIMD.H:115
constexpr bool is_nth_arg_non_const(R(*)(Args...), int n)
Definition AMReX_SIMD.H:138
amrex::ParticleReal SIMDParticleReal
Definition AMReX_SIMD.H:65
constexpr auto native_simd_size_particlereal
Definition AMReX_SIMD.H:59
amrex::Real SIMDReal
Definition AMReX_SIMD.H:62
Definition AMReX_FabArrayCommI.H:1000
Definition AMReX_SIMD.H:105
Definition AMReX_SIMD.H:73