00001 /* 00002 // @HEADER 00003 // *********************************************************************** 00004 // 00005 // RTOp: Interfaces and Support Software for Vector Reduction Transformation 00006 // Operations 00007 // Copyright (2006) Sandia Corporation 00008 // 00009 // Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive 00010 // license for use of this work by or on behalf of the U.S. Government. 00011 // 00012 // This library is free software; you can redistribute it and/or modify 00013 // it under the terms of the GNU Lesser General Public License as 00014 // published by the Free Software Foundation; either version 2.1 of the 00015 // License, or (at your option) any later version. 00016 // 00017 // This library is distributed in the hope that it will be useful, but 00018 // WITHOUT ANY WARRANTY; without even the implied warranty of 00019 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00020 // Lesser General Public License for more details. 00021 // 00022 // You should have received a copy of the GNU Lesser General Public 00023 // License along with this library; if not, write to the Free Software 00024 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 00025 // USA 00026 // Questions? Contact Roscoe A. Bartlett (rabartl@sandia.gov) 00027 // 00028 // *********************************************************************** 00029 // @HEADER 00030 */ 00031 00032 /* If the macro RTOp_USE_MPI is defined, then these */ 00033 /* declarations will be MPI compatible. If not then */ 00034 /* dummy MPI declarations will be used. */ 00035 /* */ 00036 00037 #ifndef RTOP_MPI_CONFIG_H 00038 #define RTOP_MPI_CONFIG_H 00039 00040 #include <RTOp_ConfigDefs.hpp> /* This C++ header also has a proper C mode */ 00041 00042 #ifdef HAVE_MPI 00043 #define RTOp_USE_MPI /* This macro is used in several places so we must keep it */ 00044 #endif 00045 00046 #ifdef RTOp_USE_MPI 00047 #include "mpi.h" /* Use real MPI declarations */ 00048 #else 00049 /* #warning causes errors on Atlantis 00050 #warning "Compiling in support for dummy MPI, real MPI will not be available!" */ 00051 #include "RTOp_mpi.h" /* Use dummy MPI declarations */ 00052 #endif 00053 00054 /* 00055 #ifdef __cplusplus 00056 extern "C" { 00057 #endif 00058 */ 00059 00071 00073 typedef MPI_Datatype RTOp_Datatype; /*< Compatible with MPI_Datatype? */ 00074 #define RTOpMPI_VALUE_TYPE MPI_DOUBLE /*< (MPI only) Compatible with fortran DOUBLE PRECISION? */ 00075 #define RTOpMPI_INDEX_TYPE MPI_INT /*< (MPI only) Compatible with fortran INTEGER? */ 00076 #define RTOpMPI_CHAR_TYPE MPI_CHAR /*< (MPI only) Compatible with fortran CHARACTER? */ 00077 00078 /* The maxinum number of characters in a name of a reduction/transformation operator class */ 00079 #define RTOp_MAX_REDUCT_TRANS_OP_CLASS_NAME 50 00080 00083 /* 00084 #ifdef __cplusplus 00085 } 00086 #endif 00087 */ 00088 00089 #endif /* RTOP_MPI_CONFIG_H */
1.3.9.1