11#include "AMReX_REAL.H"
12#include "AMReX_Scan.H"
13#include "cctk_Types.h"
28AMREX_GPU_DEVICE AMREX_GPU_HOST
29 AMREX_FORCE_INLINE CCTK_ATTRIBUTE_ALWAYS_INLINE amrex::GpuArray<CCTK_REAL, 3>
31 amrex::GpuArray<CCTK_REAL, 3> V) {
33 amrex::GpuArray<CCTK_REAL, 3> result = {
34 A[0] * V[0] + A[1] * V[1] + A[2] * V[2],
35 A[1] * V[0] + A[3] * V[1] + A[4] * V[2],
36 A[2] * V[0] + A[4] * V[1] + A[5] * V[2]};
50AMREX_GPU_HOST AMREX_FORCE_INLINE CCTK_ATTRIBUTE_ALWAYS_INLINE CCTK_REAL
51VecVecMul(amrex::GpuArray<CCTK_REAL, 3> U, amrex::GpuArray<CCTK_REAL, 3> V) {
53 return U[0] * V[0] + U[1] * V[1] + U[2] * V[2];
AMREX_GPU_DEVICE AMREX_GPU_HOST AMREX_FORCE_INLINE CCTK_ATTRIBUTE_ALWAYS_INLINE amrex::GpuArray< CCTK_REAL, 3 > SMatVecMul(amrex::GpuArray< CCTK_REAL, 6 > A, amrex::GpuArray< CCTK_REAL, 3 > V)
Definition: Utilities.hxx:30
AMREX_GPU_DEVICE AMREX_GPU_HOST AMREX_FORCE_INLINE CCTK_ATTRIBUTE_ALWAYS_INLINE CCTK_REAL VecVecMul(amrex::GpuArray< CCTK_REAL, 3 > U, amrex::GpuArray< CCTK_REAL, 3 > V)
Definition: Utilities.hxx:51