Actual source code: f90_hpux.h
1: /* $Id: f90_hpux.h,v 1.6 2000/09/22 18:54:10 balay Exp $ */
3: #if !defined (__F90_HPUX_H)
6: typedef struct {
7: long lower; /* starting index of the fortran array */
8: long extent; /* length of the array */
9: long mult; /* in bytes */
10: } tripple;
12: /*
13: The following constants are just
14: guesses. It is strange that the HP folks use such
15: constants to represent the dimension
16: */
17: #define F90_1D_ID 257
18: #define F90_2D_ID 513
19: #define F90_3D_ID 769
20: #define F90_4D_1D 1025
21: #define F90_COOKIE 443
23: /*
24: addr - address
25: sd - sizeof datatype
26: ndim - DIMENSION ID
27: cookie - f90 cookie
28: a - junk - always 0. Null pointer??
29: */
31: #define f90_header() void* addr; long sd; short ndim; short cookie; long a;
33: typedef struct {
34: f90_header()
35: tripple dim[1];
36: }F90Array1d;
38: typedef struct {
39: f90_header()
40: tripple dim[2]; /* dim2,dim1 */
41: }F90Array2d;
43: typedef struct {
44: f90_header()
45: tripple dim[3]; /* dim3,dim2,dim1 */
46: }F90Array3d;
48: typedef struct {
49: f90_header()
50: tripple dim[4]; /* dim4,dim3,dim2,dim1 */
51: }F90Array4d;
53: #endif