/home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/physics/interpolation/linear_interpolator.hh Source File#

DiFfRG: /home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/physics/interpolation/linear_interpolator.hh Source File
DiFfRG
linear_interpolator.hh
Go to the documentation of this file.
1#pragma once
2
3// DiFfRG
7
8namespace DiFfRG
9{
10 namespace internal
11 {
12 template <typename T, int dim> struct _has_dim {
13 static constexpr bool value = (T::dim == dim);
14 };
15 template <typename T, int dim> constexpr bool has_dim = _has_dim<T, dim>::value;
16 } // namespace internal
17
18 template <size_t dim, typename NT, typename Coordinates, typename DefaultMemorySpace = CPU_memory>
20
21 template <typename NT, typename Coordinates, typename DefaultMemorySpace>
22 struct LinearInterpolatorND_helper<1, NT, Coordinates, DefaultMemorySpace> {
24 };
25
26 template <typename NT, typename Coordinates, typename DefaultMemorySpace>
27 struct LinearInterpolatorND_helper<2, NT, Coordinates, DefaultMemorySpace> {
29 };
30
31 template <typename NT, typename Coordinates, typename DefaultMemorySpace>
32 struct LinearInterpolatorND_helper<3, NT, Coordinates, DefaultMemorySpace> {
34 };
35
42 template <typename NT, typename Coordinates, typename DefaultMemorySpace = CPU_memory>
45} // namespace DiFfRG
A linear interpolator for 1D data, both on GPU and CPU.
Definition linear_interpolator_1d.hh:16
A linear interpolator for 2D data, both on GPU and CPU.
Definition linear_interpolator_2d.hh:16
A linear interpolator for 3D data, both on GPU and CPU.
Definition linear_interpolator_3d.hh:17
constexpr bool has_dim
Definition linear_interpolator.hh:15
Definition complex_math.hh:10
typename LinearInterpolatorND_helper< Coordinates::dim, NT, Coordinates, DefaultMemorySpace >::type LinearInterpolatorND
A linear interpolator for ND data, both on GPU and CPU.
Definition linear_interpolator.hh:43
Definition linear_interpolator.hh:19
Definition linear_interpolator.hh:12
static constexpr bool value
Definition linear_interpolator.hh:13