MPI_Data_type - Defines C and Fortran data types
STANDARDS
This release implements the MPI 1.2 standard, as
documented by the MPI Forum in the spring 1997 release of
MPI: A Message Passing Interface Standard.
DESCRIPTION
The MPI_Data_type routine defines special data types for
both C and Fortran and data types of type MPI_Datatype for
C programs and of type integer for Fortran programs. The
C types should be used only in C programs and the Fortran
types should be used only in Fortran programs. For
example, it is an error to use MPI_INT for a Fortran
integer.
Special Data Types
The following data types can be used in C or Fortran
programs:
MPI_PACKED Used for the MPI_Pack(3) and
MPI_Unpack(3) routines
MPI_UB Used for the MPI_Type_struct(3)
routine (an upper-bound
indicator)
MPI_LB Used for the MPI_Type_struct(3)
routine (a lower-bound indicator)
C Data Types
The following data types can be used in all C programs:
MPI_CHAR Specifies char
MPI_BYTE Specifies unsigned char (see the
standard)
MPI_SHORT Specifies short
MPI_INT Specifies int
MPI_LONG Specifies long
MPI_FLOAT Specifies float
MPI_DOUBLE Specifies double
MPI_UNSIGNED_CHAR Specifies unsigned char
MPI_UNSIGNED_SHORT Specifies unsigned short
MPI_UNSIGNED Specifies unsigned int
MPI_LONG_DOUBLE Specifies long double (some
systems may not implement)
The following data types can be used for the MPI functions
MPI_MAXLOC and MPI_MINLOC:
MPI_FLOAT_INT Specifies struct { float, int }
MPI_LONG_INT Specifies struct { long, int }
MPI_DOUBLE_INT Specifies struct { double, int }
MPI_SHORT_INT Specifies struct { short, int }
MPI_2INT Specifies struct { int, int }
MPI_LONG_DOUBLE_INT Specifies struct { long double,
int } (this is an optional type
and can be set to NULL)
MPI_LONG_LONG_INT Specifies struct { long long, int
} (this is an optional type and
can be set to NULL)
Fortran Data Types
The following data types can be used in all Fortran
programs:
MPI_REAL Specifies REAL
MPI_INTEGER Specifies INTEGER
MPI_LOGICAL Specifies LOGICAL
MPI_DOUBLE_PRECISION Specifies DOUBLE PRECISION
MPI_COMPLEX Specifies COMPLEX
MPI_DOUBLE_COMPLEX Specifies COMPLEX*16 (or
COMPLEX*32) where supported
The following data types are optional:
MPI_INTEGER1 Specifies INTEGER*1 if supported
MPI_INTEGER2 Specifies INTEGER*2 if supported
MPI_INTEGER4 Specifies INTEGER*4 if supported
MPI_REAL4 Specifies REAL*4 if supported
MPI_REAL8 Specifies REAL*8 if supported
MPI_MAXLOC and MPI_MINLOC. In Fortran, these data types
always consist of two elements of the same Fortran type.
MPI_2INTEGER Specifies INTEGER, INTEGER
MPI_2REAL Specifies REAL, REAL
MPI_2DOUBLE_PRECISION Specifies DOUBLE PRECISION,
DOUBLE PRECISION
MPI_2COMPLEX Specifies COMPLEX, COMPLEX
MPI_2DOUBLE_COMPLEX Specifies COMPLEX*16,
COMPLEX*16
Man(1) output converted with
man2html