#include #include "fasterp.hh" namespace CarpetInterp2 { extern "C" CCTK_INT CarpetInterp2_InterpGridArrays (CCTK_POINTER_TO_CONST const cctkGH_, CCTK_INT const N_dims, CCTK_INT const order, CCTK_INT const N_interp_points, CCTK_POINTER_TO_CONST const interp_coords_, CCTK_INT const N_input_arrays, CCTK_INT const * const input_array_indices, CCTK_INT const N_output_arrays, CCTK_POINTER const output_arrays_) { // Check input values and convert types cGH const * const cctkGH = static_cast (cctkGH_); assert (cctkGH); assert (N_dims == dim); assert (N_interp_points >= 0); CCTK_REAL const * const * const interp_coords = static_cast (interp_coords_); assert (interp_coords); for (int d=0; d= 0); assert (input_array_indices); for (int n=0; n=0 and input_array_indices[n]= 0); assert (N_output_arrays == N_input_arrays); CCTK_REAL * const * const output_arrays = static_cast (output_arrays_); assert (output_arrays); for (int n=0; n varinds (N_input_arrays); for (int n=0; n values (N_input_arrays); for (int n=0; n (cctkGH_); assert (cctkGH); assert (N_dims == dim); assert (N_interp_points >= 0); assert (interp_maps); CCTK_REAL const * const * const interp_coords = static_cast (interp_coords_); assert (interp_coords); for (int d=0; d= 0); assert (input_array_indices); for (int n=0; n=0 and input_array_indices[n]= 0); assert (N_output_arrays == N_input_arrays); CCTK_REAL * const * const output_arrays = static_cast (output_arrays_); assert (output_arrays); for (int n=0; n varinds (N_input_arrays); for (int n=0; n values (N_input_arrays); for (int n=0; n (cctkGH_); assert (cctkGH); assert (N_dims == dim); assert (N_interp_points >= 0); CCTK_REAL const * const * const interp_coords = static_cast (interp_coords_); assert (interp_coords); for (int d=0; d (cctkGH_); assert (cctkGH); fasterp_setup_t const * const setup = static_cast (setup_); assert (setup); assert (N_input_arrays >= 0); assert (input_array_indices); for (int n=0; n=0 and input_array_indices[n]= 0); assert (N_output_arrays == N_input_arrays); CCTK_REAL * const * const output_arrays = static_cast (output_arrays_); assert (output_arrays); for (int n=0; n varinds (N_input_arrays); for (int n=0; n values (N_input_arrays); for (int n=0; ninterpolate (cctkGH, varinds, values); // Done return 0; } extern "C" CCTK_INT CarpetInterp2_Interp2GridArraysFree (CCTK_POINTER_TO_CONST const cctkGH_, CCTK_POINTER const setup_) { // Check input values and convert types cGH const * const cctkGH = static_cast (cctkGH_); assert (cctkGH); fasterp_setup_t const * const setup = static_cast (setup_); assert (setup); delete setup; // Done return 0; } } // namespace CarpetInterp2