2.2 Defined Constants

These are required constants, defined in the file mpi.h. For brevity, the types of the constants are defined below are defined in the comments.

// return codes
// Type: const int (or unnamed enum)
MPI::SUCCESS           
MPI::ERR_BUFFER       
MPI::ERR_COUNT        
MPI::ERR_TYPE         
MPI::ERR_TAG          
MPI::ERR_COMM         
MPI::ERR_RANK         
MPI::ERR_REQUEST      
MPI::ERR_ROOT         
MPI::ERR_GROUP        
MPI::ERR_OP           
MPI::ERR_TOPOLOGY     
MPI::ERR_DIMS         
MPI::ERR_ARG          
MPI::ERR_UNKNOWN      
MPI::ERR_TRUNCATE     
MPI::ERR_OTHER        
MPI::ERR_INTERN
MPI::ERR_PENDING
MPI::ERR_IN_STATUS
MPI::ERR_LASTCODE     

// assorted constants 
// Type: const void *
MPI::BOTTOM
// Type: const int (or unnamed enum)
MPI::PROC_NULL
MPI::ANY_SOURCE
MPI::ANY_TAG
MPI::UNDEFINED
MPI::BSEND_OVERHEAD
MPI::KEYVAL_INVALID

// Error-handling specifiers 
// Type: MPI::Errhandler (see below)
MPI::ERRORS_ARE_FATAL
MPI::ERRORS_RETURN
MPI::ERRORS_THROW_EXCEPTIONS

// Maximum sizes for strings 
// Type: const int 
MPI::MAX_PROCESSOR_NAME
MPI::MAX_ERROR_STRING

// elementary datatypes (C / C++)
// Type: const MPI::Datatype
MPI::CHAR
MPI::SHORT
MPI::INT         
MPI::LONG        
MPI::SIGNED_CHAR
MPI::UNSIGNED_CHAR
MPI::UNSIGNED_SHORT
MPI::UNSIGNED
MPI::UNSIGNED_LONG
MPI::FLOAT       
MPI::DOUBLE      
MPI::LONG_DOUBLE
MPI::BYTE        
MPI::PACKED

// elementary datatypes (Fortran)
// Type: const MPI::Datatype
MPI::INTEGER
MPI::REAL
MPI::DOUBLE_PRECISION
MPI::F_COMPLEX
MPI::F_DOUBLE_COMPLEX
MPI::LOGICAL
MPI::CHARACTER

// datatypes for reduction functions (C / C++)
// Type: const MPI::Datatype 
MPI::FLOAT_INT
MPI::DOUBLE_INT
MPI::LONG_INT
MPI::TWOINT
MPI::SHORT_INT
MPI::LONG_DOUBLE_INT

// datatype for reduction functions (Fortran)
// Type const MPI::Datatype
MPI::TWOREAL
MPI::TWODOUBLE_PRECISION
MPI::TWOINTEGER

// optional datatypes (Fortran)
// Type: const MPI::Datatype
MPI::INTEGER1
MPI::INTEGER2
MPI::INTEGER4
MPI::REAL2
MPI::REAL4
MPI::REAL8

// optional datatypes (C / C++)
// Type: const MPI::Datatype
MPI::LONG_LONG
MPI::UNSIGNED_LONG_LONG
// special datatypes for construction derived datatypes
// Type: const MPI::Datatype 
MPI::UB
MPI::LB

// C++ datatypes
// Type: const MPI::Datatype
MPI::BOOL
MPI::COMPLEX
MPI::DOUBLE_COMPLEX
MPI::LONG_DOUBLE_COMPLEX

// reserved communicators
// Type: MPI::Intracomm 
MPI::COMM_WORLD
MPI::COMM_SELF

// results of communicator and group comparisons
// Type: const int (or unnamed enum) 
MPI::IDENT
MPI::CONGRUENT
MPI::SIMILAR
MPI::UNEQUAL

// environmental inquiry keys
// Type: const int (or unnamed enum)
MPI::TAG_UB
MPI::IO
MPI::HOST
MPI::WTIME_IS_GLOBAL

// collective operations 
// Type: const MPI::Op 
MPI::MAX
MPI::MIN
MPI::SUM
MPI::PROD
MPI::MAXLOC
MPI::MINLOC
MPI::BAND
MPI::BOR
MPI::BXOR
MPI::LAND
MPI::LOR
MPI::LXOR

// Null handles 
// Type: const MPI::Group 
MPI::GROUP_NULL
// Type: See Section 10.1.7 regarding the MPI::Comm class hierarchy and
// the specific type of MPI::COMM_NULL.
MPI::COMM_NULL
// Type: const MPI::Datatype 
MPI::DATATYPE_NULL   
// Type: const MPI::Request 
MPI::REQUEST_NULL
// Type: const MPI::Op 
MPI::OP_NULL
// Type: MPI::Errhandler
MPI::ERRHANDLER_NULL

// Empty group
// Type: const MPI::Group 
MPI::GROUP_EMPTY
  
// Topologies
// Type: const int (or unnamed enum) 
MPI::GRAPH
MPI::CART

// Predefined functions
// Type: MPI::Copy_function
MPI::NULL_COPY_FN
MPI::DUP_FN
// Type: MPI::Delete_function
MPI::NULL_DELETE_FN

MPI-Standard for MARMOT