1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#![allow(dead_code)]
// These are from MPICH's mpi.h. OpenMPI is different. I'll need to wait for bindgen to work again
// or write a script that, at compile-time, uses the system's mpi.h to insert these constants since
// the learning experience of learning the bindings is probably worthwhile given that I am new to
// Rust.
// Communicators
pub static MPI_COMM_WORLD: i32 = 0x44000000;
pub static MPI_COMM_SELF: i32 = 0x44000001;
// Error codes
pub static MPI_SUCCESS: i32 = 0;
// Data types
pub static MPI_CHAR :i32 = 0x4c000101;
pub static MPI_SIGNED_CHAR :i32 = 0x4c000118;
pub static MPI_UNSIGNED_CHAR :i32 = 0x4c000102;
pub static MPI_BYTE :i32 = 0x4c00010d;
pub static MPI_WCHAR :i32 = 0x4c00040e;
pub static MPI_SHORT :i32 = 0x4c000203;
pub static MPI_UNSIGNED_SHORT :i32 = 0x4c000204;
pub static MPI_INT :i32 = 0x4c000405;
pub static MPI_UNSIGNED :i32 = 0x4c000406;
pub static MPI_LONG :i32 = 0x4c000807;
pub static MPI_UNSIGNED_LONG :i32 = 0x4c000808;
pub static MPI_FLOAT :i32 = 0x4c00040a;
pub static MPI_DOUBLE :i32 = 0x4c00080b;
pub static MPI_LONG_DOUBLE :i32 = 0x4c00100c;
pub static MPI_LONG_LONG_INT :i32 = 0x4c000809;
pub static MPI_UNSIGNED_LONG_LONG :i32 = 0x4c000819;
pub static MPI_LONG_LONG: i32 = 0x4c000809;
// Collective operations
pub static MPI_MAX :i32 = 0x58000001;
pub static MPI_MIN :i32 = 0x58000002;
pub static MPI_SUM :i32 = 0x58000003;
pub static MPI_PROD :i32 = 0x58000004;
pub static MPI_LAND :i32 = 0x58000005;
pub static MPI_BAND :i32 = 0x58000006;
pub static MPI_LOR :i32 = 0x58000007;
pub static MPI_BOR :i32 = 0x58000008;
pub static MPI_LXOR :i32 = 0x58000009;
pub static MPI_BXOR :i32 = 0x5800000a;
pub static MPI_MINLOC :i32 = 0x5800000b;
pub static MPI_MAXLOC :i32 = 0x5800000c;
pub static MPI_REPLACE :i32 = 0x5800000d;
pub static MPI_NO_OP :i32 = 0x5800000e;