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

FreeBSD Manual Pages

  
 
  

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

NAME
       MPI_Type_create_f90_real	- Returns a bounded MPI	real datatype

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

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

C++ Syntax
       #include	<mpi.h>
       static MPI::Datatype MPI::Datatype::Create_f90_real(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 REAL 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	 expo-
       nent between +r and -r (inclusive).

       Either  p  or  r,  but  not  both,  may	be  omitted  from calls	to SE-
       LECTED_REAL_KIND.   Similarly,	either	 argument   to	 MPI_Type_cre-
       ate_f90_real may	be set to MPI_UNDEFINED.

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

       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 com-
       piler. 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 parame-
       ters were generated by different	(p,r) arguments	to SELECTED_REAL_KIND.
       However,	to help	facilitate interoperability in a  heterogeneous	 envi-
       ronment,	equivalency is more strictly defined for datatypes returned by
       MPI_Type_create_f90_real. 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	 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 (p > 33)	and/or (r > 4931):
		 external32 size = n/a (undefined)
	    else if (p > 15) and/or (r > 307):
		 external32 size = 16
	    else if (p > 6) and/or (r >	37):
		 external32 size = 8
	    else:
		 external32 size = 4

       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_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++ 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_REAL_KIND

1.10.6				 Feb 17, 2017	   MPI_Type_create_f90_real(3)

NAME | SYNTAX | C Syntax | Fortran Syntax | C++ Syntax | INPUT PARAMETERS | 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_real&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help