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_COUNT 22 parameter (MPI_ERR_COUNT = 2) 23 MPIUNI_FInt MPI_ERR_OTHER 24 parameter (MPI_ERR_OTHER = 17) 25 MPIUNI_FInt MPI_ERR_UNKNOWN 26 parameter (MPI_ERR_UNKNOWN = 18) 27 MPIUNI_FInt MPI_ERR_INTERN 28 parameter (MPI_ERR_INTERN = 21) 29 30 MPIUNI_FInt MPI_PACKED 31 parameter (MPI_PACKED=0) 32 MPIUNI_FInt MPI_ANY_SOURCE 33 parameter (MPI_ANY_SOURCE=2) 34 MPIUNI_FInt MPI_ANY_TAG 35 parameter (MPI_ANY_TAG=-1) 36 MPIUNI_FInt MPI_UNDEFINED 37 parameter (MPI_UNDEFINED=-32766) 38 MPIUNI_FInt MPI_INFO_NULL 39 PARAMETER (MPI_INFO_NULL=0) 40 41 MPIUNI_FInt MPI_REQUEST_NULL 42 parameter (MPI_REQUEST_NULL=0) 43 44 MPIUNI_FInt MPI_STATUS_SIZE 45 parameter (MPI_STATUS_SIZE=3) 46 MPIUNI_FInt MPI_SOURCE,MPI_TAG,MPI_ERROR 47 PARAMETER(MPI_SOURCE=1,MPI_TAG=2,MPI_ERROR=3) 48 49 MPIUNI_FInt MPI_STATUS_IGNORE 50 parameter (MPI_STATUS_IGNORE=0) 51 52 ! Data Types. Same Values used in mpi.c 53 MPIUNI_FInt MPI_INTEGER,MPI_LOGICAL 54 MPIUNI_FInt MPI_REAL,MPI_DOUBLE_PRECISION 55 MPIUNI_FInt MPI_COMPLEX, MPI_CHARACTER 56 MPIUNI_FInt MPI_COMPLEX16 57 MPIUNI_FInt MPI_2INTEGER 58 MPIUNI_FInt MPI_DOUBLE_COMPLEX 59 MPIUNI_FInt MPI_INTEGER4 60 MPIUNI_FInt MPI_INTEGER8 61 MPIUNI_FInt MPI_2DOUBLE_PRECISION 62 MPIUNI_FInt MPI_REAL4,MPI_REAL8 63 64 ! 65 ! These should match the values in mpi.h many below are wrong 66 ! 67 parameter (MPI_INTEGER=4194564) 68 parameter (MPI_DOUBLE_PRECISION=1048840) 69 parameter (MPI_COMPLEX16=2097424) 70 parameter (MPI_LOGICAL=INT(Z'400104')) 71 parameter (MPI_REAL=INT(Z'100104')) 72 parameter (MPI_REAL4=INT(Z'100104')) 73 parameter (MPI_REAL8=INT(Z'100108')) 74 parameter (MPI_COMPLEX=INT(Z'200108')) 75 parameter (MPI_CHARACTER=INT(Z'300101')) 76 parameter (MPI_2INTEGER=INT(Z'e00108')) 77 parameter (MPI_DOUBLE_COMPLEX=INT(Z'200110')) 78 parameter (MPI_INTEGER4=INT(Z'400104')) 79 parameter (MPI_INTEGER8=INT(Z'400108')) 80 parameter (MPI_2DOUBLE_PRECISION=INT(Z'100208')) 81 82 MPIUNI_FInt MPI_SUM 83 parameter (MPI_SUM=1) 84 MPIUNI_FInt MPI_MAX 85 parameter (MPI_MAX=2) 86 MPIUNI_FInt MPI_MIN 87 parameter (MPI_MIN=3) 88 MPIUNI_FInt MPI_REPLACE 89 parameter (MPI_REPLACE=4) 90 MPIUNI_FInt MPI_MAXLOC 91 parameter (MPI_MAXLOC=12) 92 MPIUNI_FInt MPI_MINLOC 93 parameter (MPI_MINLOC=13) 94 95 MPIUNI_FInt MPI_MAX_PROCESSOR_NAME 96 parameter (MPI_MAX_PROCESSOR_NAME=128-1) 97