/*@@ @file pughInterpGH.h @date Sun Jul 04 1999 @author Thomas Radke @desc Definition of GH extensions of thorn PUGHInterp and declaration of function prototypes @enddesc @history @endhistory @@*/ typedef struct { int *send_count; /* number of elements to be sent */ int *send_displ; /* offset of each element to be sent */ int *recv_count; /* number of elements to be received */ int *recv_displ; /* offset of each element to be received */ CCTK_INT *num_points_to; /* number of coordinate points to be sent */ CCTK_INT *num_points_from; /* number of coordinate points to be received */ int *whichproc; /* which processor does point i belong to */ int *indices; /* indices to sort from processor-sorted into point-sorted order */ } pughInterpGH; /* prototypes of interpolation operators to be registered */ int PUGHInterp_InterpGV (cGH *GH, int order, const char *coord_system, int num_points, int num_in_array_indices, int num_out_arrays, const void *const interp_coord_arrays[], const int interp_coord_array_types[], const int in_array_indices[], void *const out_arrays[], const int out_array_types[]); /* prototypes of routines used internally */ int PUGHInterp_Interpolate (int order, int num_points, int num_dims, int num_arrays, const int dims[ /* num_dims */ ], const CCTK_REAL coord[ /* num_dims*num_points */ ], const CCTK_REAL origin[ /* num_dims */ ], const CCTK_REAL delta[ /* num_dims */ ], const int in_types[ /* num_arrays */ ], const void *const in_arrays[ /* num_arrays */ ], const int out_types[ /* num_arrays */ ], void *const out_arrays[ /* num_arrays */ ]);