root/ompi/mca/io/romio321/romio/mpi2-other/array/fortran/darrayf.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. mpi_type_create_darray_
  2. mpi_type_create_darray_

   1 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
   2 /* 
   3  *
   4  *   Copyright (C) 1997 University of Chicago. 
   5  *   See COPYRIGHT notice in top-level directory.
   6  */
   7 
   8 #include "adio.h"
   9 #include "mpio.h"
  10 
  11 #if defined(MPIO_BUILD_PROFILING) || defined(HAVE_WEAK_SYMBOLS)
  12 
  13 #if defined(HAVE_WEAK_SYMBOLS)
  14 #if defined(HAVE_PRAGMA_WEAK)
  15 #if defined(FORTRANCAPS)
  16 extern FORTRAN_API void FORT_CALL MPI_TYPE_CREATE_DARRAY(MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *);
  17 #pragma weak MPI_TYPE_CREATE_DARRAY = PMPI_TYPE_CREATE_DARRAY
  18 #elif defined(FORTRANDOUBLEUNDERSCORE)
  19 extern FORTRAN_API void FORT_CALL mpi_type_create_darray__(MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *);
  20 #pragma weak mpi_type_create_darray__ = pmpi_type_create_darray__
  21 #elif !defined(FORTRANUNDERSCORE)
  22 extern FORTRAN_API void FORT_CALL mpi_type_create_darray(MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *);
  23 #pragma weak mpi_type_create_darray = pmpi_type_create_darray
  24 #else
  25 extern FORTRAN_API void FORT_CALL mpi_type_create_darray_(MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *);
  26 #pragma weak mpi_type_create_darray_ = pmpi_type_create_darray_
  27 #endif
  28 
  29 #elif defined(HAVE_PRAGMA_HP_SEC_DEF)
  30 #if defined(FORTRANCAPS)
  31 #pragma _HP_SECONDARY_DEF PMPI_TYPE_CREATE_DARRAY MPI_TYPE_CREATE_DARRAY
  32 #elif defined(FORTRANDOUBLEUNDERSCORE)
  33 #pragma _HP_SECONDARY_DEF pmpi_type_create_darray__ mpi_type_create_darray__
  34 #elif !defined(FORTRANUNDERSCORE)
  35 #pragma _HP_SECONDARY_DEF pmpi_type_create_darray mpi_type_create_darray
  36 #else
  37 #pragma _HP_SECONDARY_DEF pmpi_type_create_darray_ mpi_type_create_darray_
  38 #endif
  39 
  40 #elif defined(HAVE_PRAGMA_CRI_DUP)
  41 #if defined(FORTRANCAPS)
  42 #pragma _CRI duplicate MPI_TYPE_CREATE_DARRAY as PMPI_TYPE_CREATE_DARRAY
  43 #elif defined(FORTRANDOUBLEUNDERSCORE)
  44 #pragma _CRI duplicate mpi_type_create_darray__ as pmpi_type_create_darray__
  45 #elif !defined(FORTRANUNDERSCORE)
  46 #pragma _CRI duplicate mpi_type_create_darray as pmpi_type_create_darray
  47 #else
  48 #pragma _CRI duplicate mpi_type_create_darray_ as pmpi_type_create_darray_
  49 #endif
  50 
  51 /* end of weak pragmas */
  52 #endif
  53 /* Include mapping from MPI->PMPI */
  54 #include "mpioprof.h"
  55 #endif
  56 
  57 #ifdef FORTRANCAPS
  58 #define mpi_type_create_darray_ PMPI_TYPE_CREATE_DARRAY
  59 #elif defined(FORTRANDOUBLEUNDERSCORE)
  60 #define mpi_type_create_darray_ pmpi_type_create_darray__
  61 #elif !defined(FORTRANUNDERSCORE)
  62 #if defined(HPUX) || defined(SPPUX)
  63 #pragma _HP_SECONDARY_DEF pmpi_type_create_darray pmpi_type_create_darray_
  64 #endif
  65 #define mpi_type_create_darray_ pmpi_type_create_darray
  66 #else
  67 #if defined(HPUX) || defined(SPPUX)
  68 #pragma _HP_SECONDARY_DEF pmpi_type_create_darray_ pmpi_type_create_darray
  69 #endif
  70 #define mpi_type_create_darray_ pmpi_type_create_darray_
  71 #endif
  72 
  73 #else
  74 
  75 #ifdef FORTRANCAPS
  76 #define mpi_type_create_darray_ MPI_TYPE_CREATE_DARRAY
  77 #elif defined(FORTRANDOUBLEUNDERSCORE)
  78 #define mpi_type_create_darray_ mpi_type_create_darray__
  79 #elif !defined(FORTRANUNDERSCORE)
  80 #if defined(HPUX) || defined(SPPUX)
  81 #pragma _HP_SECONDARY_DEF mpi_type_create_darray mpi_type_create_darray_
  82 #endif
  83 #define mpi_type_create_darray_ mpi_type_create_darray
  84 #else
  85 #if defined(HPUX) || defined(SPPUX)
  86 #pragma _HP_SECONDARY_DEF mpi_type_create_darray_ mpi_type_create_darray
  87 #endif
  88 #endif
  89 #endif
  90 
  91 #ifdef MPIHP
  92 /* Prototype to keep compiler happy */
  93 void mpi_type_create_darray_(int *size,int *rank,int *ndims,
  94                            int *array_of_gsizes,int *array_of_distribs,
  95                            int *array_of_dargs,int *array_of_psizes,
  96                            int *order, MPI_Fint *oldtype,
  97                              MPI_Fint *newtype, int *ierr );
  98 
  99 void mpi_type_create_darray_(int *size,int *rank,int *ndims,
 100                            int *array_of_gsizes,int *array_of_distribs,
 101                            int *array_of_dargs,int *array_of_psizes,
 102                            int *order, MPI_Fint *oldtype,
 103                            MPI_Fint *newtype, int *ierr )
 104 {
 105     MPI_Datatype oldtype_c, newtype_c;
 106 
 107     oldtype_c = MPI_Type_f2c(*oldtype);
 108 
 109     *ierr = MPI_Type_create_darray(*size,*rank,*ndims,array_of_gsizes,array_of_distribs,array_of_dargs,array_of_psizes,*order,oldtype_c,&newtype_c);
 110 
 111     *newtype = MPI_Type_c2f(newtype_c);
 112 }
 113 
 114 #else
 115 /* Prototype to keep compiler happy */
 116 FORTRAN_API void FORT_CALL void mpi_type_create_darray_(MPI_Fint *size,MPI_Fint *rank,MPI_Fint *ndims,
 117                                                MPI_Fint *array_of_gsizes,MPI_Fint *array_of_distribs,
 118                                                MPI_Fint *array_of_dargs,MPI_Fint *array_of_psizes,
 119                                                MPI_Fint *order,MPI_Fint *oldtype,
 120                                                 MPI_Fint *newtype, MPI_Fint *ierr);
 121 
 122 FORTRAN_API void FORT_CALL void mpi_type_create_darray_(MPI_Fint *size,MPI_Fint *rank,MPI_Fint *ndims,
 123                                                MPI_Fint *array_of_gsizes,MPI_Fint *array_of_distribs,
 124                                                MPI_Fint *array_of_dargs,MPI_Fint *array_of_psizes,
 125                                                MPI_Fint *order,MPI_Fint *oldtype,
 126                                                MPI_Fint *newtype, MPI_Fint *ierr )
 127 {
 128     *ierr = MPI_Type_create_darray(*size,*rank,*ndims,array_of_gsizes,array_of_distribs,array_of_dargs,array_of_psizes,*order,*oldtype,newtype);
 129 }
 130 #endif

/* [<][>][^][v][top][bottom][index][help] */