7#ifndef CIC_INTERPOLATION_H
8#define CIC_INTERPOLATION_H
21 template <
unsigned long Po
int,
unsigned long Index,
typename Weights>
23 const Weights& wlo,
const Weights& whi);
33 template <
unsigned long Po
int,
unsigned long Index,
typename Indices>
50 template <
unsigned long ScatterPoint,
unsigned long... Index,
typename View,
typename T,
51 typename IndexType =
size_t>
53 const std::index_sequence<Index...>&,
const View& view,
77 template <
unsigned long... ScatterPoint,
typename View,
typename T,
78 typename IndexType =
size_t>
80 const std::index_sequence<ScatterPoint...>&,
const View& view,
97 template <
unsigned long GatherPoint,
unsigned long... Index,
typename View,
typename T,
98 typename IndexType =
size_t>
99 KOKKOS_INLINE_FUNCTION
constexpr typename View::value_type
gatherFromPoint(
100 const std::index_sequence<Index...>&,
const View& view,
116 template <
unsigned long... GatherPoint,
typename View,
typename T,
117 typename IndexType =
size_t>
118 KOKKOS_INLINE_FUNCTION
constexpr typename View::value_type
gatherFromField(
119 const std::index_sequence<GatherPoint...>&,
const View& view,
ippl::Vector< T, Dim > Vector
KOKKOS_INLINE_FUNCTION constexpr Weights::value_type interpolationWeight(const Weights &wlo, const Weights &whi)
KOKKOS_INLINE_FUNCTION constexpr View::value_type gatherFromPoint(const std::index_sequence< Index... > &, const View &view, const Vector< T, View::rank > &wlo, const Vector< T, View::rank > &whi, const Vector< IndexType, View::rank > &args)
KOKKOS_INLINE_FUNCTION constexpr View::value_type gatherFromField(const std::index_sequence< GatherPoint... > &, const View &view, const Vector< T, View::rank > &wlo, const Vector< T, View::rank > &whi, const Vector< IndexType, View::rank > &args)
KOKKOS_INLINE_FUNCTION constexpr Indices::value_type interpolationIndex(const Indices &args)
KOKKOS_INLINE_FUNCTION constexpr void scatterToPoint(const std::index_sequence< Index... > &, const View &view, const Vector< T, View::rank > &wlo, const Vector< T, View::rank > &whi, const Vector< IndexType, View::rank > &args, const T &val)
KOKKOS_INLINE_FUNCTION constexpr void scatterToField(const std::index_sequence< ScatterPoint... > &, const View &view, const Vector< T, View::rank > &wlo, const Vector< T, View::rank > &whi, const Vector< IndexType, View::rank > &args, T val=1)