ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



MPI_Type_create_f90_complex(3OpenMPI)                                  MPI_Type_create_f90_complex(3OpenMPI)



NAME
       MPI_Type_create_f90_complex - Returns a bounded MPI complex datatype


SYNTAX
C Syntax
       #include <mpi.h>
       int MPI_Type_create_f90_complex(int p, int r,
            MPI_Datatype *newtype)


Fortran Syntax
       INCLUDE 'mpif.h'
       MPI_TYPE_CREATE_F90_COMPLEX (P, R, NEWTYPE, IERROR)
            INTEGER   P, R, NEWTYPE, IERROR


C++ Syntax
       #include <mpi.h>
       static MPI::Datatype MPI::Datatype::Create_f90_complex(int p, int r)


INPUT PARAMETERS
       p         Precision, in decimal digits (integer).

       r         Decimal exponent range (integer).


OUTPUT PARAMETERS
       newtype   New data type (handle).

       IERROR    Fortran only: Error status (integer).


DESCRIPTION
       This  function  provides a way to declare KIND-parameterized COMPLEX MPI datatypes. The arguments are
       interpreted in a similar fashion to the F90 function SELECTED_REAL_KIND. The parameters p and r  must
       be  scalar  integers. The argument p represents the required level of numerical precision, in decimal
       digits. The r parameter indicates the range of exponents desired: the returned datatype will have  at
       least one exponent between +r and -r (inclusive).

       Either p or r, but not both, may be omitted from calls to SELECTED_REAL_KIND. Similarly, either argu-ment argument
       ment to MPI_Type_create_f90_complex may be set to MPI_UNDEFINED.


NOTES
       It is erroneous to supply values for p and r not supported by the compiler.

       The Fortran function SELECTED_REAL_KIND maps a large number of (p,r) pairs to a much  smaller  number
       of  KIND  parameters supported by the compiler. KIND parameters are not specified by the language and
       are not portable. From the point of view of the language, variables of the same base  type  and  KIND
       parameter  are  equivalent, even if their KIND parameters were generated by different (p,r) arguments
       to SELECTED_REAL_KIND. However, to help facilitate interoperability in a  heterogeneous  environment,
       equivalency  is  more strictly defined for datatypes returned by MPI_Type_create_f90_complex. Two MPI
       datatypes, each generated by this function, will match if and only if they have identical values  for
       both p and r.

       The  interaction  between the datatypes returned by this function and the external32 data representa-tion representation
       tion - used by MPI_Pack_external, MPI_Unpack_external, and many MPI_File functions - is  subtle.  The
       external32 representation of returned datatypes is as follows.

            if (p > 33) and/or (r > 4931):
                 external32 size = n/a (undefined)
            else if (p > 15) and/or (r > 307):
                 external32 size = 32
            else if (p > 6) and/or (r > 37):
                 external32 size = 16
            else:
                 external32 size = 8

       If  the  external32  representation  of  a  datatype  is  undefined, so are the results of using that
       datatype in operations that require the external32 format. Care should be taken not to use incompati-ble incompatible
       ble  datatypes  indirectly,  e.g.,  as  part of another datatype or through a duplicated datatype, in
       these functions.

       If  a  variable  is  declared  specifying  a  nondefault  KIND  value  that  was  not  obtained  with
       SELECTED_REAL_KIND  (i.e., p and/or r are unknown), the only way to obtain a matching MPI datatype is
       to use the functions MPI_Sizeof and MPI_Type_match_size.


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 the MPI man page for a full list of MPI error codes.


SEE ALSO
       MPI_Pack_external
       MPI_Sizeof
       MPI_Type_match_size
       MPI_Unpack_external
       SELECTED_REAL_KIND




Open MPI 1.2                                   September 2006          MPI_Type_create_f90_complex(3OpenMPI)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.