xref: /petsc/include/petsc/mpiuni/mpif.h (revision 09b68a49ed2854d1e4985cc2aa6af33c7c4e69b3)
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