Actual source code: f90_IRIX.h
5: typedef struct {
6: long lower; /* starting index of the fortran array */
7: long extent; /* length of the array */
8: long mult; /* multiple of 4 bytes */
9: } tripple;
10:
11: /* this might not be used in older version of compilers */
12: #define F90_COOKIE -1744830464
13: #define F90_INT_ID 33562624
14: #define F90_DOUBLE_ID 52445192
15: #define F90_COMPLEX_ID 69238800
17: #if !defined (PETSC_COMPLEX)
18: #define F90_SCALAR_ID F90_DOUBLE_ID
19: #else
20: #define F90_SCALAR_ID F90_COMPLEX_ID
21: #endif
23: #if (PETSC_SIZEOF_VOID_P == 8)
24: #define F90_LONG_ID 35667976
25: #else
26: #define F90_LONG_ID 33562624
27: #endif
30: #define f90_header() \
31: void* addr; /* Pointer to the data/array */ \
32: long sd; /* sizeof(DataType) in bits */ \
33: int cookie; \
34: int ndim; /* No of dimentions */ \
35: int a; \
36: int id; /* ID corresponding to datatype */ \
37: void* addr_r; /* address redefined */ \
38: long size; /* len1*len2* ... * sd */
40: typedef struct {
41: f90_header()
42: tripple dim[1];
43: }F90Array1d;
45: typedef struct {
46: f90_header()
47: tripple dim[2];
48: }F90Array2d;
50: typedef struct {
51: f90_header()
52: tripple dim[3];
53: }F90Array3d;
55: typedef struct {
56: f90_header()
57: tripple dim[4];
58: }F90Array4d;
60: #endif