Actual source code: mpif.h

      1: !
      2: !     Trying to provide as little support for fortran code in petsc as needed
      3: !
      4: #include "petsc/mpiuni/mpiunifdef.h"
      5: !
      6: !     External objects outside of MPI calls
      7:        MPIUNI_FInt MPI_COMM_WORLD
      8:        parameter (MPI_COMM_WORLD = 2)
      9:        MPIUNI_FInt MPI_COMM_SELF
     10:        parameter (MPI_COMM_SELF = 1)
     11:        MPIUNI_FInt  MPI_COMM_NULL
     12:        parameter (MPI_COMM_NULL = 0)
     13:        MPIUNI_FInt MPI_IDENT
     14:        parameter (MPI_IDENT = 0)
     15:        MPIUNI_FInt MPI_UNEQUAL
     16:        parameter (MPI_UNEQUAL = 3)
     17:        MPIUNI_FInt MPI_KEYVAL_INVALID
     18:        parameter (MPI_KEYVAL_INVALID = 0)
     19:        MPIUNI_FInt MPI_SUCCESS
     20:        parameter (MPI_SUCCESS = 0)
     21:        MPIUNI_FInt MPI_ERR_OTHER
     22:        parameter (MPI_ERR_OTHER = 17)
     23:        MPIUNI_FInt MPI_ERR_UNKNOWN
     24:        parameter (MPI_ERR_UNKNOWN = 18)
     25:        MPIUNI_FInt MPI_ERR_INTERN
     26:        parameter (MPI_ERR_INTERN = 21)

     28:        MPIUNI_FInt MPI_PACKED
     29:        parameter (MPI_PACKED=0)
     30:        MPIUNI_FInt MPI_ANY_SOURCE
     31:        parameter (MPI_ANY_SOURCE=2)
     32:        MPIUNI_FInt MPI_ANY_TAG
     33:        parameter (MPI_ANY_TAG=-1)
     34:        MPIUNI_FInt MPI_UNDEFINED
     35:        parameter (MPI_UNDEFINED=-32766)
     36:        MPIUNI_FInt MPI_INFO_NULL
     37:        PARAMETER (MPI_INFO_NULL=0)

     40:        MPIUNI_FInt MPI_REQUEST_NULL
     41:        parameter (MPI_REQUEST_NULL=0)

     43:        MPIUNI_FInt MPI_STATUS_SIZE
     44:        parameter (MPI_STATUS_SIZE=3)
     45:        MPIUNI_FInt MPI_SOURCE,MPI_TAG,MPI_ERROR
     46:        PARAMETER(MPI_SOURCE=1,MPI_TAG=2,MPI_ERROR=3)

     48:        MPIUNI_FInt MPI_STATUS_IGNORE
     49:        parameter (MPI_STATUS_IGNORE=0)

     51: !     Data Types. Same Values used in mpi.c
     52:        MPIUNI_FInt MPI_INTEGER,MPI_LOGICAL
     53:        MPIUNI_FInt MPI_REAL,MPI_DOUBLE_PRECISION
     54:        MPIUNI_FInt MPI_COMPLEX, MPI_CHARACTER
     55:        MPIUNI_FInt MPI_COMPLEX16
     56:        MPIUNI_FInt MPI_2INTEGER
     57:        MPIUNI_FInt MPI_DOUBLE_COMPLEX
     58:        MPIUNI_FInt MPI_INTEGER4
     59:        MPIUNI_FInt MPI_INTEGER8
     60:        MPIUNI_FInt MPI_2DOUBLE_PRECISION
     61:        MPIUNI_FInt MPI_REAL4,MPI_REAL8

     63: !
     64: !  These should match the values in mpi.h many below are wrong
     65: !
     66:        parameter (MPI_INTEGER=4194564)
     67:        parameter (MPI_DOUBLE_PRECISION=1048840)
     68:        parameter (MPI_COMPLEX16=2097424)
     69:        parameter (MPI_LOGICAL=INT(Z'400104'))
     70:        parameter (MPI_REAL=INT(Z'100104'))
     71:        parameter (MPI_REAL4=INT(Z'100104'))
     72:        parameter (MPI_REAL8=INT(Z'100108'))
     73:        parameter (MPI_COMPLEX=INT(Z'200108'))
     74:        parameter (MPI_CHARACTER=INT(Z'300101'))
     75:        parameter (MPI_2INTEGER=INT(Z'e00108'))
     76:        parameter (MPI_DOUBLE_COMPLEX=INT(Z'200110'))
     77:        parameter (MPI_INTEGER4=INT(Z'400104'))
     78:        parameter (MPI_INTEGER8=INT(Z'400108'))
     79:        parameter (MPI_2DOUBLE_PRECISION=INT(Z'100208'))

     81:        MPIUNI_FInt MPI_SUM
     82:        parameter (MPI_SUM=1)
     83:        MPIUNI_FInt MPI_MAX
     84:        parameter (MPI_MAX=2)
     85:        MPIUNI_FInt MPI_MIN
     86:        parameter (MPI_MIN=3)
     87:        MPIUNI_FInt MPI_REPLACE
     88:        parameter (MPI_REPLACE=4)
     89:        MPIUNI_FInt MPI_MAXLOC
     90:        parameter (MPI_MAXLOC=12)
     91:        MPIUNI_FInt MPI_MINLOC
     92:        parameter (MPI_MINLOC=13)

     94:        MPIUNI_FInt MPI_MAX_PROCESSOR_NAME
     95:        parameter (MPI_MAX_PROCESSOR_NAME=128-1)