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

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

DEFINITIONS

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

   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 
  12 #if defined(MPIO_BUILD_PROFILING) || defined(HAVE_WEAK_SYMBOLS)
  13 
  14 #if defined(HAVE_WEAK_SYMBOLS)
  15 #if defined(HAVE_PRAGMA_WEAK)
  16 #if defined(FORTRANCAPS)
  17 extern FORTRAN_API void FORT_CALL MPI_TYPE_CREATE_SUBARRAY(MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *);
  18 #pragma weak MPI_TYPE_CREATE_SUBARRAY = PMPI_TYPE_CREATE_SUBARRAY
  19 #elif defined(FORTRANDOUBLEUNDERSCORE)
  20 extern FORTRAN_API void FORT_CALL mpi_type_create_subarray__(MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *);
  21 #pragma weak mpi_type_create_subarray__ = pmpi_type_create_subarray__
  22 #elif !defined(FORTRANUNDERSCORE)
  23 extern FORTRAN_API void FORT_CALL mpi_type_create_subarray(MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *);
  24 #pragma weak mpi_type_create_subarray = pmpi_type_create_subarray
  25 #else
  26 extern FORTRAN_API void FORT_CALL mpi_type_create_subarray_(MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *, MPI_Fint *,  MPI_Fint *, MPI_Fint *);
  27 #pragma weak mpi_type_create_subarray_ = pmpi_type_create_subarray_
  28 #endif
  29 
  30 #elif defined(HAVE_PRAGMA_HP_SEC_DEF)
  31 #if defined(FORTRANCAPS)
  32 #pragma _HP_SECONDARY_DEF PMPI_TYPE_CREATE_SUBARRAY MPI_TYPE_CREATE_SUBARRAY
  33 #elif defined(FORTRANDOUBLEUNDERSCORE)
  34 #pragma _HP_SECONDARY_DEF pmpi_type_create_subarray__ mpi_type_create_subarray__
  35 #elif !defined(FORTRANUNDERSCORE)
  36 #pragma _HP_SECONDARY_DEF pmpi_type_create_subarray mpi_type_create_subarray
  37 #else
  38 #pragma _HP_SECONDARY_DEF pmpi_type_create_subarray_ mpi_type_create_subarray_
  39 #endif
  40 
  41 #elif defined(HAVE_PRAGMA_CRI_DUP)
  42 #if defined(FORTRANCAPS)
  43 #pragma _CRI duplicate MPI_TYPE_CREATE_SUBARRAY as PMPI_TYPE_CREATE_SUBARRAY
  44 #elif defined(FORTRANDOUBLEUNDERSCORE)
  45 #pragma _CRI duplicate mpi_type_create_subarray__ as pmpi_type_create_subarray__
  46 #elif !defined(FORTRANUNDERSCORE)
  47 #pragma _CRI duplicate mpi_type_create_subarray as pmpi_type_create_subarray
  48 #else
  49 #pragma _CRI duplicate mpi_type_create_subarray_ as pmpi_type_create_subarray_
  50 #endif
  51 
  52 /* end of weak pragmas */
  53 #endif
  54 /* Include mapping from MPI->PMPI */
  55 #include "mpioprof.h"
  56 #endif
  57 
  58 #ifdef FORTRANCAPS
  59 #define mpi_type_create_subarray_ PMPI_TYPE_CREATE_SUBARRAY
  60 #elif defined(FORTRANDOUBLEUNDERSCORE)
  61 #define mpi_type_create_subarray_ pmpi_type_create_subarray__
  62 #elif !defined(FORTRANUNDERSCORE)
  63 #if defined(HPUX) || defined(SPPUX)
  64 #pragma _HP_SECONDARY_DEF pmpi_type_create_subarray pmpi_type_create_subarray_
  65 #endif
  66 #define mpi_type_create_subarray_ pmpi_type_create_subarray
  67 #else
  68 #if defined(HPUX) || defined(SPPUX)
  69 #pragma _HP_SECONDARY_DEF pmpi_type_create_subarray_ pmpi_type_create_subarray
  70 #endif
  71 #define mpi_type_create_subarray_ pmpi_type_create_subarray_
  72 #endif
  73 
  74 #else
  75 
  76 #ifdef FORTRANCAPS
  77 #define mpi_type_create_subarray_ MPI_TYPE_CREATE_SUBARRAY
  78 #elif defined(FORTRANDOUBLEUNDERSCORE)
  79 #define mpi_type_create_subarray_ mpi_type_create_subarray__
  80 #elif !defined(FORTRANUNDERSCORE)
  81 #if defined(HPUX) || defined(SPPUX)
  82 #pragma _HP_SECONDARY_DEF mpi_type_create_subarray mpi_type_create_subarray_
  83 #endif
  84 #define mpi_type_create_subarray_ mpi_type_create_subarray
  85 #else
  86 #if defined(HPUX) || defined(SPPUX)
  87 #pragma _HP_SECONDARY_DEF mpi_type_create_subarray_ mpi_type_create_subarray
  88 #endif
  89 #endif
  90 #endif
  91 
  92 #ifdef MPIHP
  93 /* Prototype to keep compiler happy */
  94 void mpi_type_create_subarray_(int *ndims,int *array_of_sizes,
  95                              int *array_of_subsizes,int *array_of_starts,
  96                              int *order,MPI_Fint *oldtype,
  97                                MPI_Fint *newtype, int *ierr );
  98 
  99 void mpi_type_create_subarray_(int *ndims,int *array_of_sizes,
 100                              int *array_of_subsizes,int *array_of_starts,
 101                              int *order,MPI_Fint *oldtype,
 102                              MPI_Fint *newtype, int *ierr )
 103 {
 104     MPI_Datatype oldtype_c, newtype_c;
 105 
 106     oldtype_c = MPI_Type_f2c(*oldtype);
 107 
 108     *ierr = MPI_Type_create_subarray(*ndims,array_of_sizes,array_of_subsizes,array_of_starts,*order,oldtype_c,&newtype_c);
 109     *newtype = MPI_Type_c2f(newtype_c);
 110 }
 111 
 112 #else
 113 
 114 /* Prototype to keep compiler happy */
 115 FORTRAN_API void FORT_CALL void mpi_type_create_subarray_(MPI_Fint *ndims,MPI_Fint *array_of_sizes,
 116                                MPI_Fint *array_of_subsizes,MPI_Fint *array_of_starts,
 117                                MPI_Fint *order,MPI_Fint *oldtype,
 118                                MPI_Fint *newtype, MPI_Fint *ierr );
 119 
 120 FORTRAN_API void FORT_CALL void mpi_type_create_subarray_(MPI_Fint *ndims,MPI_Fint *array_of_sizes,
 121                                MPI_Fint *array_of_subsizes,MPI_Fint *array_of_starts,
 122                                MPI_Fint *order,MPI_Fint *oldtype,
 123                                MPI_Fint *newtype, MPI_Fint *ierr )
 124 {
 125 *ierr = MPI_Type_create_subarray(*ndims,array_of_sizes,array_of_subsizes,array_of_starts,*order,*oldtype,newtype);
 126 }
 127 #endif

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