1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
/*@@
@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 */ ]);
|