Actual source code: f90_lahaye.h
1: #if !defined (__F90_LAHAYE_H)
4: typedef struct {
5: long lower; /* starting index of the fortran array */
6: long upper; /* ending index of the array */
7: long mult; /* in bytes */
8: long extent; /* length of the array */
9: } tripple;
11: #define f90_header1() \
12: void* addr; /* Pointer to the data/array */ \
13: long id1; /* untouched */ \
14: long dimn; /* extent1* extent2* extent3 */
16: #define f90_header2() \
17: long id2; /* untouched */ \
18: long dimb; /* dimn * sizeof(type) */
20: typedef struct {
21: f90_header1()
22: tripple dim[1];
23: f90_header2()
24: }F90Array1d;
26: typedef struct {
27: f90_header1()
28: tripple dim[2]; /* dim1,dim2 */
29: f90_header2()
30: }F90Array2d;
32: typedef struct {
33: f90_header1()
34: tripple dim[3]; /* dim1,dim2,dim3 */
35: f90_header2()
36: }F90Array3d;
38: typedef struct {
39: f90_header1()
40: tripple dim[4]; /* dim1,dim2,dim3,dim4 */
41: f90_header2()
42: }F90Array4d;
44: #endif