INCLUDE 'mpif.h' INTEGER TYPES(3), DISPLS(3), COUNTS(3), NEWTYPE, LB, UB, EX, SZ DATA TYPES/MPI_DOUBLE_PRECISION, MPI_INTEGER, MPI_BYTE/ DATA DISPLS/0, 8, 12/, COUNTS/1, 1, 1/ * CALL MPI_INIT(IERR) * CALL MPI_TYPE_LB(MPI_BYTE, LB, IERR) CALL MPI_TYPE_UB(MPI_BYTE, UB, IERR) CALL MPI_TYPE_SIZE(MPI_BYTE, SZ, IERR) CALL MPI_TYPE_EXTENT(MPI_BYTE, EX, IERR) * *** CALL MPI_TYPE_STRUCT(3, COUNTS, DISPLS, TYPES, NEWTYPE, IERR) CALL MPI_TYPE_CONTIGUOUS(1, 1, MPI_BYTE, NEWTYPE, IERR) CALL MPI_TYPE_LB(NEWTYPE, LB, IERR) CALL MPI_TYPE_UB(NEWTYPE, UB, IERR) CALL MPI_TYPE_SIZE(NEWTYPE, SZ, IERR) CALL MPI_TYPE_EXTENT(NEWTYPE, EX, IERR) PRINT *, 'LB=', LB, ' UB =', UB, ' EX =', EX, ' SIZE=', SZ CALL MPI_TYPE_FREE(NEWTYPE, IERR) * CALL MPI_FINALIZE(IERR) * STOP END