Table 20 lists the bindings for derived datatype subroutines.
Table 20. Bindings for derived datatypes
|
Subroutine name: C C++ FORTRAN |
Binding: C C++ FORTRAN |
|---|---|
| MPI_Address | int MPI_Address(void* location, MPI_Aint *address); |
| (none) | (none) |
| MPI_ADDRESS | MPI_ADDRESS(CHOICE LOCATION, INTEGER ADDRESS, INTEGER IERROR) |
| MPI_Get_address | int MPI_Get_address(void *location, MPI_Aint *address); |
| MPI::Get_address | MPI::Aint MPI::Get_address(void* location); |
| MPI_GET_ADDRESS | MPI_GET_ADDRESS(CHOICE LOCATION(*), INTEGER(KIND=MPI_ADDRESS_KIND) ADDRESS, INTEGER IERROR) |
| MPI_Get_elements | int MPI_Get_elements(MPI_Status *status,MPI_Datatype datatype,int *count); |
| MPI::Status::Get_elements | int MPI::Status::Get_elements(const MPI::Datatype& datatype) const; |
| MPI_GET_ELEMENTS | MPI_GET_ELEMENTS(INTEGER STATUS(MPI_STATUS_SIZE),INTEGER DATATYPE,INTEGER COUNT,INTEGER IERROR) |
| MPI_Pack | int MPI_Pack(void* inbuf,int incount,MPI_Datatype datatype,void *outbuf, int outsize,int *position,MPI_Comm comm); |
| MPI::Datatype::Pack | void MPI::Datatype::Pack(const void* inbuf, int incount, void* outbuf, int outsize, int& position, const MPI::Comm& comm) const; |
| MPI_PACK | MPI_PACK(CHOICE INBUF,INTEGER INCOUNT,INTEGER DATATYPE,CHOICE OUTBUF,INTEGER OUTSIZE,INTEGER POSITION,INTEGER COMM,INTEGER IERROR) |
| MPI_Pack_external | int MPI_Pack_external(char *datarep, void *inbuf, int incount, MPI_Datatype datatype, void *outbuf, MPI_Aint outsize, MPI_Aint *position); |
| MPI::Datatype::Pack_external | void MPI::Datatype::Pack_external(const char* datarep, const void* inbuf, int incount, void* outbuf, MPI::Aint outsize, MPI_Aint& position) const; |
| MPI_PACK_EXTERNAL | MPI_PACK_EXTERNAL(CHARACTER*(*) DATAREP, CHOICE INBUF(*), INTEGER INCOUNT, INTEGER DATATYPE, CHOICE OUTBUF(*), INTEGER(KIND=MPI_ADDRESS_KIND) OUTSIZE, INTEGER(KIND=MPI_ADDRESS_KIND) POSITION, INTEGER IERROR) |
| MPI_Pack_external_size | int MPI_Pack_external_size(char *datarep, int incount, MPI_Datatype datatype,MPI_Aint *size); |
| MPI::Datatype::Pack_external_size | MPI::Aint MPI::Datatype::Pack_external_size(const char* datarep, int incount) const; |
| MPI_PACK_EXTERNAL_SIZE | MPI_PACK_EXTERNAL_SIZE(CHARACTER*(*) DATAREP, INTEGER INCOUNT, INTEGER DATATYPE, INTEGER(KIND=MPI_ADDRESS_KIND) SIZE, INTEGER IERROR |
| MPI_Pack_size | int MPI_Pack_size(int incount,MPI_Datatype datatype,MPI_Comm comm,int *size); |
| MPI::Datatype::Pack_size | int MPI::Datatype::Pack_size(int incount, const MPI::Comm& comm) const; |
| MPI_PACK_SIZE | MPI_PACK_SIZE(INTEGER INCOUNT,INTEGER DATATYPE,INTEGER COMM,INTEGER SIZE,INTEGER IERROR) |
| (none) | (none) |
| (none) | (none) |
| MPI_SIZEOF | MPI_SIZEOF(CHOICE X, INTEGER SIZE, INTEGER IERROR) |
| MPI_Type_commit | int MPI_Type_commit(MPI_Datatype *datatype); |
| MPI::Datatype::Commit | void MPI::Datatype::Commit(); |
| MPI_TYPE_COMMIT | MPI_TYPE_COMMIT(INTEGER DATATYPE,INTEGER IERROR) |
| MPI_Type_contiguous | int MPI_Type_contiguous(int count,MPI_Datatype oldtype,MPI_Datatype *newtype); |
| MPI::Datatype::Create_contiguous | MPI::Datatype MPI::Datatype::Create_contiguous(int count) const; |
| MPI_TYPE_CONTIGUOUS | MPI_TYPE_CONTIGUOUS(INTEGER COUNT,INTEGER OLDTYPE,INTEGER NEWTYPE,INTEGER IERROR) |
| MPI_Type_create_darray | int MPI_Type_create_darray (int size,int rank,int ndims, int array_of_gsizes[],int array_of_distribs[], int array_of_dargs[],int array_of_psizes[], int order,MPI_Datatype oldtype,MPI_Datatype *newtype); |
| MPI::Datatype::Create_darray | MPI::Datatype MPI::Datatype::Create_darray(int size, int rank, int ndims, const int array_of_gsizes[], const int array_of_distribs[], const int array_of_dargs[], const int array_of_psizes[], int order) const; |
| MPI_TYPE_CREATE_DARRAY | MPI_TYPE_CREATE_DARRAY (INTEGER SIZE,INTEGER RANK,INTEGER NDIMS, INTEGER ARRAY_OF_GSIZES(*),INTEGER ARRAY_OF_DISTRIBS(*), INTEGER ARRAY_OF_DARGS(*),INTEGER ARRAY_OF_PSIZES(*), INTEGER ORDER,INTEGER OLDTYPE,INTEGER NEWTYPE,INTEGER IERROR) |
| MPI_Type_create_f90_complex | int MPI_Type_create_f90_complex(int p, int r, MPI_Datatype *newtype); |
| MPI::Datatype::Create_f90_complex | static MPI::Datatype MPI::Datatype::Create_f90_complex(int p, int r); |
| MPI_TYPE_CREATE_F90_COMPLEX | MPI_TYPE_CREATE_F90_COMPLEX(INTEGER P, INTEGER R, INTEGER NEWTYPE, INTEGER IERROR) |
| MPI_Type_create_f90_integer | int MPI_Type_create_f90_integer(int r, MPI_Datatype *newtype); |
| MPI::Datatype::Create_f90_integer | static MPI::Datatype MPI::Datatype::Create_f90_integer(int r); |
| MPI_TYPE_CREATE_F90_INTEGER | MPI_TYPE_CREATE_F90_INTEGER(INTEGER R, INTEGER NEWTYPE, INTEGER IERROR) |
| MPI_Type_create_f90_real | int MPI_Type_create_f90_real(int p, int r, MPI_Datatype *newtype); |
| MPI::Datatype::Create_f90_real | static MPI::Datatype MPI::Datatype::Create_f90_real(int p, int r); |
| MPI_TYPE_CREATE_F90_REAL | MPI_TYPE_CREATE_F90_REAL(INTEGER P, INTEGER R, INTEGER NEWTYPE, INTEGER IERROR) |
| MPI_Type_create_hindexed | int MPI_Type_create_hindexed(int count, int array_of_blocklengths[], MPI_Aint array_of_displacements[], MPI_Datatype oldtype,MPI_Datatype *newtype); |
| MPI::Datatype::Create_hindexed | MPI::Datatype MPI::Datatype::Create_hindexed(int count, const int array_of_blocklengths[], const MPI::Aint array_of_displacements[]) const; |
| MPI_TYPE_CREATE_HINDEXED | MPI_TYPE_CREATE_HINDEXED(INTEGER COUNT, INTEGER ARRAY_OF_BLOCKLENGTHS(*), INTEGER(KIND=MPI_ADDRESS_KIND) ARRAY_OF DISPLACEMENTS(*), INTEGER OLDTYPE, INTEGER NEWTYPE, INTEGER IERROR) |
| MPI_Type_create_hvector | int MPI_Type_create_hvector(int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype *newtype); |
| MPI::Datatype::Create_hvector | MPI::Datatype MPI::Datatype::Create_hvector(int count, int blocklength, MPI::Aint stride) const; |
| MPI_TYPE_CREATE_HVECTOR | MPI_TYPE_CREATE_HVECTOR(INTEGER COUNT, INTEGER BLOCKLENGTH, INTEGER(KIND=MPI_ADDRESS_KIND) STRIDE, INTEGER OLDTYPE, INTEGER NEWTYPE, INTEGER IERROR) |
| MPI_Type_create_indexed_block | int MPI_Type_create_indexed_block(int count, int blocklength, int array_of_displacements[], MPI_Datatype oldtype, MPI_datatype *newtype); |
| MPI::Datatype::Create_indexed_block | MPI::Datatype MPI::Datatype::Create_indexed_block(int count, int blocklength, const int array_of_displacements[]) const; |
| MPI_TYPE_CREATE_INDEXED_BLOCK | MPI_TYPE_CREATE_INDEXED_BLOCK(INTEGER COUNT, INTEGER BLOCKLENGTH, INTEGER ARRAY_OF DISPLACEMENTS(*), INTEGER OLDTYPE, INTEGER NEWTYPE, INTEGER IERROR) |
| MPI_Type_create_keyval | int MPI_Type_create_keyval (MPI_Type_copy_attr_function *type_copy_attr_fn, MPI_Type_delete_attr_function *type_delete_attr_fn, int *type_keyval, void *extra_state); |
| MPI::Datatype::Create_keyval | int MPI::Datatype::Create_keyval(MPI::Datatype::Copy_attr_function* type_copy_attr_fn, MPI::Datatype::Delete_attr_function* type_delete_attr_fn, void* extra_state); |
| MPI_TYPE_CREATE_KEYVAL | MPI_TYPE_CREATE_KEYVAL(EXTERNAL TYPE_COPY_ATTR_FN, EXTERNAL TYPE_DELETE_ATTR_FN, INTEGER TYPE_KEYVAL, INTERGER EXTRA_STATE, INTEGER IERROR) |
| MPI_Type_create_resized | int MPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb, MPI_Aint extent, MPI_Datatype *newtype); |
| MPI::Datatype::Create_resized | MPI::Datatype MPI::Datatype::Create_resized(const MPI::Aint lb, const MPI::Aint extent) const; |
| MPI_TYPE_CREATE_RESIZED | MPI_TYPE_CREATE_RESIZED(INTEGER OLDTYPE, INTEGER LB, INTEGER(KIND=MPI_ADDRESS_KIND) EXTENT, INTEGER NEWTYPE, INTEGER IERROR) |
| MPI_Type_create_struct | int MPI_Type_create_struct(int count, int array_of_blocklengths[], MPI_Aint array_of_displacements[], MPI_Datatype array_of_types[], MPI_datatype *newtype); |
| MPI::Datatype::Create_struct | static MPI::Datatype MPI::Datatype::Create_struct(int count, const int array_of_blocklengths[], const MPI::Aint array_of_displacements[], const MPI::Datatype array_of_types[]); |
| MPI_TYPE_CREATE_STRUCT | MPI_TYPE_CREATE_STRUCT(INTEGER COUNT, INTEGER ARRAY_OF_BLOCKLENGTHS(*), INTEGER(KIND=MPI_ADDRESS_KIND) ARRAY_OF DISPLACEMENTS(*), INTEGER ARRAY_OF_TYPES(*), INTEGER NEWTYPE, INTEGER IERROR) |
| MPI_Type_create_subarray | int MPI_Type_create_subarray (int ndims,int array_of_sizes[], int array_of_subsizes[],int array_of_starts[], int order,MPI_Datatype oldtype,MPI_Datatype *newtype); |
| MPI::Datatype::Create_subarray | MPI::Datatype MPI::Datatype::Create_subarray(int ndims, const int array_of_sizes[], const int array_of_subsizes[], const int array_of_starts[], int order) const; |
| MPI_TYPE_CREATE_SUBARRAY | MPI_TYPE_CREATE_SUBARRAY (INTEGER NDIMS,INTEGER ARRAY_OF_SUBSIZES(*), INTEGER ARRAY_OF_SIZES(*),INTEGER ARRAY_OF_STARTS(*), INTEGER ORDER,INTEGER OLDTYPE,INTEGER NEWTYPE,INTEGER IERROR) |
| MPI_Type_delete_attr | int MPI_Type_delete_attr (MPI_Datatype type, int type_keyval); |
| MPI::Datatype::Delete_attr | void MPI::Datatype::Delete_attr(int type_keyval); |
| MPI_TYPE_DELETE_ATTR | MPI_TYPE_DELETE_ATTR(INTEGER TYPE, INTEGER TYPE_KEYVAL, INTEGER IERROR) |
| MPI_Type_dup | int MPI_Type_dup (MPI_Datatype type, MPI_Datatype *newtype); |
| MPI::Datatype::Dup | MPI::Datatype MPI::Datatype::Dup() const; |
| MPI_TYPE_DUP | MPI_TYPE_DUP(INTEGER TYPE, INTEGER NEWTYPE, INTEGER IERROR) |
| MPI_Type_extent | int MPI_Type_extent(MPI_Datatype datatype, int *extent); |
| (none) | (none) |
| MPI_TYPE_EXTENT | MPI_TYPE_EXTENT(INTEGER DATATYPE, INTEGER EXTENT, INTEGER IERROR) |
| MPI_Type_free | int MPI_Type_free(MPI_Datatype *datatype); |
| MPI::Datatype::Free | void MPI::Datatype::Free(); |
| MPI_TYPE_FREE | MPI_TYPE_FREE(INTEGER DATATYPE,INTEGER IERROR) |
| MPI_Type_free_keyval | int MPI_Type_free_keyval (int *type_keyval); |
| MPI::Datatype::Free_keyval | void MPI::Datatype::Free_keyval(int& type_keyval); |
| MPI_TYPE_FREE_KEYVAL | MPI_TYPE_FREE_KEYVAL(INTEGER TYPE_KEYVAL, INTEGER IERROR) |
| MPI_Type_get_attr | int MPI_Type_get_attr (MPI_Datatype type, int type_keyval, void *attribute_val, int *flag); |
| MPI::Datatype::Get_attr | bool MPI::Datatype::Get_attr(int type_keyval, void* attribute_val) const; |
| MPI_TYPE_GET_ATTR | MPI_TYPE_GET_ATTR(INTEGER TYPE, INTEGER TYPE_KEYVAL, INTEGER ATTRIBUTE_VAL, LOGICAL FLAG, INTEGER IERROR) |
| MPI_Type_get_contents | int MPI_Type_get_contents(MPI_Datatype datatype, int *max_integers, int *max_addresses, int *max_datatypes, int array_of_integers[], int array_of_addresses[], int array_of_datatypes[]); |
| MPI::Datatype::Get_contents | void MPI::Datatype::Get_contents(int max_integers, int max_addresses, int max_datatypes, int array_of_integers[], MPI::Aint array_of_addresses[], MPI::Datatype array_of_datatypes[]) const; |
| MPI_TYPE_GET_CONTENTS | MPI_TYPE_GET_CONTENTS(INTEGER DATATYPE, INTEGER MAX_INTEGERS, INTEGER MAX_ADDRESSES, INTEGER MAX_DATATYPES, INTEGER ARRAY_of_INTEGERS(*), INTEGER ARRAY_OF_ADDRESSES(*), INTEGER ARRAY_of_DATATYPES(*), INTEGER IERROR) |
| MPI_Type_get_envelope | int MPI_Type_get_envelope(MPI_Datatype datatype, int *num_integers, int *num_addresses, int *num_datatypes, int *combiner); |
| MPI::Datatype::Get_envelope | void MPI::Datatype::Get_envelope(int& num_integers, int& num_addresses, int& num_datatypes, int& combiner) const; |
| MPI_TYPE_GET_ENVELOPE | MPI_TYPE_GET_ENVELOPE(INTEGER DATATYPE, INTEGER NUM_INTEGERS, INTEGER NUM_ADDRESSES, INTEGER NUM_DATATYPES, INTEGER COMBINER, INTEGER IERROR) |
| MPI_Type_get_extent | int MPI_Type_get_extent(MPI_Datatype datatype, MPI_Aint *lb, MPI_Aint *extent); |
| MPI::Datatype::Get_extent | void MPI::Datatype::Get_extent(MPI::Aint& lb, MPI::Aint& extent) const; |
| MPI_TYPE_GET_EXTENT | MPI_TYPE_GET_EXTENT(INTEGER DATATYPE, INTEGER(KIND=MPI_ADDRESS_KIND) LB, INTEGER(KIND=MPI_ADDRESS_KIND) EXTENT, INTEGER IERROR) |
| MPI_Type_get_true_extent | int MPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *true_lb, MPI_Aint *true_extent); |
| MPI::Datatype::Get_true_extent | void MPI::Datatype::Get_true_extent(MPI::Aint& true_lb, MPI::Aint& true_extent) const; |
| MPI_TYPE_GET_TRUE_EXTENT | MPI_TYPE_GET_TRUE_EXTENT(INTEGER DATATYPE, INTEGER TRUE_LB, INTEGER(KIND=MPI_ADDRESS_KIND) TRUE_EXTENT, INTEGER IERROR) |
| MPI_Type_hindexed | int MPI_Type_hindexed(int count, int *array_of_blocklengths, MPI_Aint *array_of_displacements, MPI_Datatype oldtype, MPI_Datatype *newtype); |
| (none) | (none) |
| MPI_TYPE_HINDEXED | MPI_TYPE_HINDEXED(INTEGER COUNT, INTEGER ARRAY_OF_BLOCKLENGTHS(*), INTEGER ARRAY_OF DISPLACEMENTS(*), INTEGER OLDTYPE, INTEGER NEWTYPE, INTEGER IERROR) |
| MPI_Type_hvector | int MPI_Type_hvector(int count, int blocklength, MPI_Aint stride, MPI_Datatype oldtype, MPI_Datatype *newtype); |
| (none) | (none) |
| MPI_TYPE_HVECTOR | MPI_TYPE_HVECTOR(INTEGER COUNT, INTEGER BLOCKLENGTH, INTEGER STRIDE, INTEGER OLDTYPE, INTEGER NEWTYPE, INTEGER IERROR) |
| MPI_Type_indexed | int MPI_Type_indexed(int count, int *array_of_blocklengths, int *array_of_displacements, MPI_Datatype oldtype, MPI_Datatype *newtype); |
| MPI::Datatype::Create_indexed | MPI::Datatype MPI::Datatype::Create_indexed(int count, const int array_of_blocklengths[], const int array_of_displacements[]) const; |
| MPI_TYPE_INDEXED | MPI_TYPE_INDEXED(INTEGER COUNT, INTEGER ARRAY_OF_BLOCKLENGTHS(*), INTEGER ARRAY_OF DISPLACEMENTS(*), INTEGER OLDTYPE, INTEGER NEWTYPE, INTEGER IERROR) |
| MPI_Type_lb | int MPI_Type_lb(MPI_Datatype datatype, int* displacement); |
| (none) | (none) |
| MPI_TYPE_LB | MPI_TYPE_LB(INTEGER DATATYPE,INTEGER DISPLACEMENT,INTEGER IERROR) |
| MPI_Type_match_size | int MPI_Type_match_size(int typeclass, int size, MPI_Datatype *type); |
| MPI::Datatype::Match_size | static MPI::Datatype MPI::Datatype::Match_size(int typeclass, int size); |
| MPI_TYPE_MATCH_SIZE | MPI_TYPE_MATCH_SIZE(INTEGER TYPECLASS, INTEGER SIZE, INTEGER TYPE, INTEGER IERROR) |
| MPI_Type_set_attr | int MPI_Type_set_attr (MPI_Datatype type, int type_keyval, void *attribute_val); |
| MPI::Datatype::Set_attr | void MPI::Datatype::Set_attr(int type_keyval, const void* attribute_val); |
| MPI_TYPE_SET_ATTR | MPI_TYPE_SET_ATTR(INTEGER TYPE, INTEGER TYPE_KEYVAL, INTEGER ATTRIBUTE_VAL, INTEGER IERROR) |
| MPI_Type_size | int MPI_Type_size(MPI_Datatype datatype,int *size); |
| MPI::Datatype::Get_size | int MPI::Datatype::Get_size() const; |
| MPI_TYPE_SIZE | MPI_TYPE_SIZE(INTEGER DATATYPE, INTEGER SIZE, INTEGER IERROR) |
| MPI_Type_struct | int MPI_Type_struct(int count, int *array_of_blocklengths, MPI_Aint *array_of_displacements, MPI_Datatype *array_of_types, MPI_Datatype *newtype); |
| (none) | (none) |
| MPI_TYPE_STRUCT | MPI_TYPE_STRUCT(INTEGER COUNT, INTEGER ARRAY_OF_BLOCKLENGTHS(*), INTEGER ARRAY_OF DISPLACEMENTS(*), INTEGER ARRAY_OF_TYPES(*), INTEGER NEWTYPE, INTEGER IERROR) |
| MPI_Type_ub | int MPI_Type_ub(MPI_Datatype datatype,int* displacement); |
| (none) | (none) |
| MPI_TYPE_UB | MPI_TYPE_UB(INTEGER DATATYPE,INTEGER DISPLACEMENT,INTEGER IERROR) |
| MPI_Type_vector | int MPI_Type_vector(int count, int blocklength, int stride, MPI_Datatype oldtype, MPI_Datatype *newtype); |
| MPI::Datatype::Create_vector | MPI::Datatype MPI::Datatype::Create_vector(int count, int blocklength, int stride) const; |
| MPI_TYPE_VECTOR | MPI_TYPE_VECTOR(INTEGER COUNT, INTEGER BLOCKLENGTH, INTEGER STRIDE, INTEGER OLDTYPE, INTEGER NEWTYPE, INTEGER IERROR) |
| MPI_Unpack | int MPI_Unpack(void* inbuf,int insize,int *position,void *outbuf,int outcount,MPI_Datatype datatype,MPI_Comm comm); |
| MPI::Datatype::Unpack | void MPI::Datatype::Unpack(const void* inbuf, int insize, void* outbuf, int outcount, int& position, const MPI::Comm& comm) const; |
| MPI_UNPACK | MPI_UNPACK(CHOICE INBUF,INTEGER INSIZE,INTEGER POSITION,CHOICE OUTBUF,INTEGER OUTCOUNT,INTEGER DATATYPE,INTEGER COMM, INTEGER IERRROR) |
| MPI_Unpack_external | int MPI_Unpack_external(char *datarep, void *inbuf, MPI_Aint insize, MPI_Aint *position, void *outbuf, int outcount, MPI_Datatype datatype); |
| MPI::Datatype::Unpack_external | void MPI::Datatype::Unpack_external(const char* datarep, const void* inbuf, MPI::Aint insize, MPI::Aint& position, void* outbuf, int outcount) const; |
| MPI_UNPACK_EXTERNAL | MPI_UNPACK_EXTERNAL(CHARACTER*(*) DATAREP, CHOICE INBUF(*), INTEGER(KIND=MPI_ADDRESS_KIND) INSIZE, INTEGER(KIND=MPI_ADDRESS_KIND) POSITION, CHOICE OUTBUF(*), INTEGER OUTCOUNT, INTEGER DATATYPE, INTEGER IERROR) |