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