Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

gcommdata_t.h

Go to the documentation of this file.
00001 //************************************************************************************//
00002 // Module       : gcommdata_t.h
00003 // Date         : 8/20/03 (DLR)
00004 // Copyright    : 2003-2006 Copyright University Corporation for Atmospheric
00005 //                Research
00006 // Description  : Provides global data types for GASpAR comm code. These types
00007 //                correspond in kind with the GASpAR scientific processing portion,
00008 //                as contained in gtypes.h
00009 // Derived From : none.
00010 // Modifications:
00011 //************************************************************************************//
00012 #if !defined(GCOMMDATA_T_H)
00013 #define GCOMMDATA_T_H
00014 
00015 #include "gtypes.h"
00016 
00017 
00018 //--------------------------------------------------------------------------------
00019 // Comm Datatypes
00020 //--------------------------------------------------------------------------------
00021 #if defined(MPI_GENERIC_DEFAULT)
00022 #  include "mpi.h"
00023 
00024 //  Just take the MPI defs...
00025 #define GCommDatatype   MPI_Datatype
00026 #define GC_GDOUBLE      MPI_DOUBLE
00027 #define GC_GFLOAT       MPI_FLOAT
00028 #define GC_GQUAD        MPI_LONG_DOUBLE
00029 #define GC_GINT         MPI_INT
00030 #define GC_GSHORT       MPI_SHORT
00031 #define GC_GUSHORT      MPI_UNSIGNED
00032 #define GC_GLONG        MPI_LONG
00033 #define GC_BYTE         MPI_UNSIGNED_CHAR
00034 #define GC_GUCHAR       MPI_UNSIGNED_CHAR
00035 #define GC_ISUB         MPI_SHORT
00036 #define GC_GWORD        MPI_INT
00037 #define GC_GDWORD       MPI_LONG
00038 #define GC_GFPOS        MPI_LONG_LONG_INT
00039 #define GC_GNODEID      MPI_LONG_LONG_INT
00040 #define GC_GKEY         MPI_LONG_LONG_INT
00041 #define AGINT           MPI_Aint
00042 #else
00043 //  Else, define the types as sizes, so that we can just do a memcpy
00044 //  NOTE: How might this have to be changed if using other than MPI?
00045 #define GCommDatatype   GINT  
00046 #define GC_GDOUBLE      sizeof(GDOUBLE)
00047 #define GC_GFLOAT       sizeof(GFLOAT)
00048 #define GC_GQUAD        sizeof(GQUAD)
00049 #define GC_GINT         sizeof(GINT )
00050 #define GC_GSHORT       sizeof(GSHORT )
00051 #define GC_GUSHORT      sizeof(GUSHORT )
00052 #define GC_GLONG        sizeof(GLONG )
00053 #define GC_BYTE         sizeof(GBYTE)
00054 #define GC_GUCHAR       sizeof(GUCHAR)
00055 #define GC_ISUB         sizeof(ISUB)
00056 #define GC_GWORD        sizeof(GWORD)
00057 #define GC_GDWORD       sizeof(GDWORD)
00058 #define GC_GFPOS        sizeof(GFPOS)
00059 #define GC_GNODEID      sizeof(GNODEID)
00060 #define GC_GKEY         sizeof(GKEY)
00061 #define AGINT           GINT 
00062 #endif
00063 
00064 #define GC_DATATYPE     GCommDatatype  
00065 
00066 #endif

Generated on Wed Dec 21 16:00:48 2005 for Geophysics & Astrophysics Spectral Element Adaptive Refinement (GASpAR) 2D Code by  doxygen 1.4.4