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