Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MPI_Type_create_f90_integer(3)	   Open	MPI	MPI_Type_create_f90_integer(3)

NAME
       MPI_Type_create_f90_integer - Returns a bounded MPI integer datatype

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

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

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

INPUT PARAMETER
       r	 Precision, in decimal digits (integer).

OUTPUT PARAMETERS
       newtype	 New data type (handle).

       IERROR	 Fortran only: Error status (integer).

DESCRIPTION
       This  function provides a way to	declare	KIND-parameterized INTEGER MPI
       datatypes. The argument is interpreted in a similar fashion to the  F90
       function	 SELECTED_INT_KIND: r must be a	scalar integer,	and represents
       the desired level of numerical precision, in decimal digits.

NOTES
       It is erroneous to supply a value for r not supported by	the compiler.

       The Fortran function SELECTED_INT_KIND maps a large number of r	values
       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	 r arguments to	SELECTED_INT_KIND. However, to
       help facilitate interoperability	in a heterogeneous environment,	equiv-
       alency is more strictly defined for datatypes returned by MPI_Type_cre-
       ate_f90_integer.	Two MPI	datatypes, each	generated  by  this  function,
       will match if and only if they have identical values for	r.

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

	    if (r > 38):
		 external32 size = n/a (undefined)
	    else if (r > 18):
		 external32 size = 16
	    else if (r > 9):
		 external32 size = 8
	    else if (r > 4):
		 external32 size = 4
	    else if (r > 2):
		 external32 size = 2
	    else:
		 external32 size = 1

       If the external32 representation	of a datatype is undefined, so are the
       results	of  using  that	datatype in operations that require the	exter-
       nal32 format. Care should be taken not to  use  incompatible  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_INT_KIND (i.e., r is	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++	 func-
       tions  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_INT_KIND

1.10.6				 Feb 17, 2017	MPI_Type_create_f90_integer(3)

NAME | SYNTAX | C Syntax | Fortran Syntax | C++ Syntax | INPUT PARAMETER | OUTPUT PARAMETERS | DESCRIPTION | NOTES | ERRORS | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=MPI_Type_create_f90_integer&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help