Actual source code: f90_t3e.h
1: /* $Id: f90_t3e.h,v 1.3 2000/09/22 18:54:10 balay Exp $ */
3: #if !defined (__F90_T3E_H)
6: #define F90_INT_ID 33570816
7: #define F90_DOUBLE_ID 50348032
8: #define F90_COMPLEX_ID 67141632
9: #define F90_COOKIE -1744830464
11: #if !defined (PETSC_COMPLEX)
12: #define F90_SCALAR_ID F90_DOUBLE_ID
13: #else
14: #define F90_SCALAR_ID F90_COMPLEX_ID
15: #endif
17: typedef struct {
18: long lower; /* starting index of the fortran array */
19: long extent; /* length of the array */
20: long mult; /* no of datatype units */
21: } tripple;
22:
23: #define f90_header() \
24: void* addr; /* Pointer to the data/array */ \
25: long sd; /* sizeof(DataType) */ \
26: short cookie; /* cookie*/ \
27: short ndim; /* No of dimentions */ \
28: int id; /* Integer? double? */ \
29: int a,b;
32: typedef struct {
33: f90_header()
34: tripple dim[1];
35: }F90Array1d;
37: typedef struct {
38: f90_header()
39: tripple dim[2];
40: }F90Array2d;
42: typedef struct {
43: f90_header()
44: tripple dim[3];
45: }F90Array3d;
47: typedef struct {
48: f90_header()
49: tripple dim[4];
50: }F90Array4d;
52: #endif