Man Linux: Main Page and Category List

NAME

       MPI_Type_create_resized  -  Returns a new data type with new extent and
       upper and lower bounds.

SYNTAX

C Syntax

       #include <mpi.h>
       int MPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb,
            MPI_Aint extent, MPI_Datatype *newtype)

Fortran Syntax (see FORTRAN 77 NOTES)

       INCLUDE ’mpif.h’
       MPI_TYPE_CREATE_RESIZED(OLDTYPE, LB, EXTENT, NEWTYPE, IERROR)
            INTEGER   OLDTYPE, NEWTYPE, IERROR
            INTEGER(KIND=MPI_ADDRESS_KIND)     LB, EXTENT

C++ Syntax

       #include <mpi.h>
       MPI::Datatype MPI::Datatype::Create_resized(const MPI::Aint lb,
            const MPI::Aint extent) const

INPUT PARAMETERS

       oldtype   Input data type (handle).

       lb        New lower bound of data type (integer).

       extent    New extent of data type (integer).

OUTPUT PARAMETERS

       newtype   Output data type (handle).

       IERROR    Fortran only: Error status (integer).

DESCRIPTION

       MPI_Type_create_resized returns in newtype a handle to a new data  type
       that  is  identical to oldtype, except that the lower bound of this new
       data type is set to be lb, and its upper  bound  is  set  to  be  lb  +
       extent.  Any  previous  lb and ub markers are erased, and a new pair of
       lower bound and upper bound markers are put in the positions  indicated
       by  the  lb and extent arguments. This affects the behavior of the data
       type when used in communication operations, with count >  1,  and  when
       used in the construction of new derived data types.

FORTRAN 77 NOTES

       The  MPI  standard  prescribes  portable  Fortran syntax for the LB and
       EXTENT arguments only for Fortran 90. FORTRAN 77 users may use the non-
       portable syntax

            INTEGER*MPI_ADDRESS_KIND LB
       or
            INTEGER*MPI_ADDRESS_KIND EXTENT

       where  MPI_ADDRESS_KIND  is  a constant defined in mpif.h and gives the
       length of the declared integer in bytes.

NOTE

       Use of MPI_Type_create_resized is strongly  recommended  over  the  old
       MPI-1 functions MPI_Type_extent and MPI_Type_lb.

ERRORS

       Almost  all MPI routines return an error value; C routines as the value
       of the  function  and  Fortran  routines  in  the  last  argument.  C++
       functions  do not return errors. If the default error handler is set to
       MPI::ERRORS_THROW_EXCEPTIONS, then on error the C++ exception mechanism
       will be used to throw an MPI:Exception object.

       Before  the  error  value is returned, the current MPI error handler is
       called. By default, this error handler aborts the MPI job,  except  for
       I/O   function   errors.   The   error  handler  may  be  changed  with
       MPI_Comm_set_errhandler; the predefined error handler MPI_ERRORS_RETURN
       may  be  used  to cause error values to be returned. Note that MPI does
       not guarantee that an MPI program can continue past an error.

SEE ALSO

       MPI_Type_get_extent