Actual source code: f90_win32.h
1: /* $Id: f90_win32.h,v 1.5 2000/09/22 18:54:10 balay Exp $ */
3: #if !defined (__F90_WIN32_H)
5:
6: typedef struct {
7: long extent; /* length of the array */
8: long mult; /* stride in bytes */
9: long lower; /* starting index of the fortran array */
10: } tripple;
12: /*
13: The following constants are just
14: guesses. The program behavies strangly
15: if these constants are not set in
16: the f90 pointer
17: */
18: #define F90_CHAR_ID 234881027
19: #define F90_INT_ID 50331651
20: #define F90_DOUBLE_ID 167772163
21: #define F90_COMPLEX_ID 218103811
24: #if !defined (PETSC_COMPLEX)
25: #define F90_SCALAR_ID F90_DOUBLE_ID
26: #else
27: #define F90_SCALAR_ID F90_COMPLEX_ID
28: #endif
31: #define f90_header()
32: void* addr; /* Pointer to the data */
33: long sd; /* sizeof(DataType) in bits */
34: long sum_d; /* -sumof(lower*mult) */
35: int id; /* integer id representing the datatype */
36: int ndim; /* No of dimensions */
38: typedef struct {
39: f90_header()
40: tripple dim[1];
41: }F90Array1d;
43: typedef struct {
44: f90_header()
45: tripple dim[2]; /* dim1,dim2 */
46: }F90Array2d;
48: typedef struct {
49: f90_header()
50: tripple dim[3]; /* dim1,dim2,dim3 */
51: }F90Array3d;
53: typedef struct {
54: f90_header()
55: tripple dim[4]; /* dim1,dim2,dim3,dim4 */
56: }F90Array4d;
59: #endif