void ompi_type_create_hindexed_f(MPI_Fint *count, MPI_Fint *array_of_blocklengths, MPI_Aint *array_of_displacements, MPI_Fint *oldtype, MPI_Fint *newtype, MPI_Fint *ierr) { int c_ierr; MPI_Datatype c_old = PMPI_Type_f2c(*oldtype); MPI_Datatype c_new; OMPI_ARRAY_NAME_DECL(array_of_blocklengths); OMPI_ARRAY_FINT_2_INT(array_of_blocklengths, *count); c_ierr = PMPI_Type_create_hindexed(OMPI_FINT_2_INT(*count), OMPI_ARRAY_NAME_CONVERT(array_of_blocklengths), array_of_displacements, c_old, &c_new); if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); if (MPI_SUCCESS == c_ierr) { *newtype = PMPI_Type_c2f(c_new); } OMPI_ARRAY_FINT_2_INT_CLEANUP(array_of_blocklengths); }
int MPI_Type_create_hindexed(int count, int* blocklens, MPI_Aint* indices, MPI_Datatype old_type, MPI_Datatype* new_type) { return PMPI_Type_create_hindexed(count, blocklens,indices,old_type,new_type); }