1 #ifndef LINEAR_1D_INTERPOLATION_HPP
2 #define LINEAR_1D_INTERPOLATION_HPP
18 Kokkos::parallel_for(
"interpol_1d", Kokkos::RangePolicy<typename T::execution_space>( 0,n1 ), KOKKOS_LAMBDA(
const int i){
19 if (x1(i) >= x(0) && x1(i) <= x(n-1)){
33 double slope = (y(ie)-y(is))/(x(ie)-x(is));
34 y1(i) = y(is) + slope * (x1(i)-x(is));
38 double slope = (y(1)-y(0)) / (x(1)-x(0));
39 y1(i)=y(0) + slope * (x1(i)-x(0));
40 }
else if (x1(i) > x(n-1)){
41 double slope = (y(n-1)-y(n-2)) / (x(n-1)-x(n-2));
42 y1(i)=y(n-1) + slope * (x1(i)-x(n-1));
void linear_1d_interpolation(const T &x, const T &y, const T &x1, const T &y1)
Definition: linear_1d_interpolation.hpp:14
void parallel_for(const std::string name, int n_ptl, Function func, Option option, HostAoSoA aosoa_h, DeviceAoSoA aosoa_d)
Definition: streamed_parallel_for.hpp:252