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