Actual source code: f90_absoft.h
1: /* $Id: f90_absoft.h,v 1.2 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 (except for char)*/
10: } tripple;
11:
12: /* this might not be used in older version of compilers */
13: #define F90_COOKIE 21
14: #define F90_INT_ID 131074
15: #define F90_DOUBLE_ID 134480899
16: #define F90_COMPLEX_ID 268960772
17: #define F90_CHAR_ID 32774
19: #define F90_LONG_ID F90_INT_ID
21: #if !defined (PETSC_COMPLEX)
22: #define F90_SCALAR_ID F90_DOUBLE_ID
23: #else
24: #define F90_SCALAR_ID F90_COMPLEX_ID
25: #endif
27: #define f90_header() \
28: void* addr; /* Pointer to the data/array */ \
29: int sd; /* sizeof(DataType) in bits */ \
30: short cookie; \
31: short dim_id; /* No of dimentions */ \
32: int id; /* ID corresponding to datatype */ \
33: int a,b;
35: typedef struct {
36: f90_header()
37: tripple dim[1];
38: }F90Array1d;
40: typedef struct {
41: f90_header()
42: tripple dim[2];
43: }F90Array2d;
45: typedef struct {
46: f90_header()
47: tripple dim[3];
48: }F90Array3d;
50: typedef struct {
51: f90_header()
52: tripple dim[4];
53: }F90Array4d;
55: #endif