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