Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

REAL.H

Go to the documentation of this file.
00001 #ifndef CH_REAL_H
00002 #define CH_REAL_H
00003 
00004 
00005 #ifdef CH_LANG_CC
00006 /* _______              __
00007   / ___/ /  ___  __ _  / /  ___
00008  / /__/ _ \/ _ \/  ' \/ _ \/ _ \
00009  \___/_//_/\___/_/_/_/_.__/\___/ 
00010 */
00011 //
00012 // This software is copyright (C) by the Lawrence Berkeley
00013 // National Laboratory.  Permission is granted to reproduce
00014 // this software for non-commercial purposes provided that
00015 // this notice is left intact.
00016 // 
00017 // It is acknowledged that the U.S. Government has rights to
00018 // this software under Contract DE-AC03-765F00098 between
00019 // the U.S.  Department of Energy and the University of
00020 // California.
00021 //
00022 // This software is provided as a professional and academic
00023 // contribution for joint exchange. Thus it is experimental,
00024 // is provided ``as is'', with no warranties of any kind
00025 // whatsoever, no support, no promise of updates, or printed
00026 // documentation. By using this software, you acknowledge
00027 // that the Lawrence Berkeley National Laboratory and
00028 // Regents of the University of California shall have no
00029 // liability with respect to the infringement of other
00030 // copyrights by any part of this software.
00031 //
00032 
00033 #endif
00034 
00035 
00036 #ifdef CH_USE_FLOAT /* precision */
00037 
00038 #undef CH_USE_DOUBLE
00039 #undef CH_USE_FLOAT
00040 #define CH_USE_FLOAT 1
00041 
00042 #else   /* precision */     
00043 
00044 #  undef  CH_USE_FLOAT
00045 #  undef  CH_USE_DOUBLE
00046 #  define CH_USE_DOUBLE 1
00047 
00048 #endif  /* precision */
00049 
00050 #if !defined(CH_LANG_FORT) /* language */
00051 
00052 #ifdef CH_USE_FLOAT /* precision */
00053 
00054      typedef float Real;
00055 #define  MPI_CH_REAL MPI_FLOAT
00056 #define  H5T_NATIVE_REAL H5T_NATIVE_FLOAT
00057 
00058 #else   /* precision */     
00059 
00060      typedef double Real;
00061 #    define MPI_CH_REAL MPI_DOUBLE
00062 #    define H5T_NATIVE_REAL H5T_NATIVE_DOUBLE
00063 
00064 #endif  /* precision */
00065 
00066 #else /* language */
00067 
00068 #ifdef CH_USE_FLOAT /* precision */
00069 #define REAL_T REAL
00070 #else /* precision */
00071 
00072 #if defined(CH_CRAY)
00073 #define REAL_T REAL
00074 #else /*cray */
00075 #define REAL_T REAL*8
00076 #endif /*cray*/
00077 
00078 #endif /* precision */
00079 #endif /* language */
00080 
00081 #if defined(CH_LANG_FORT)
00082 #define Real_T REAL_T
00083 #define Real_t REAL_T
00084 #define real_t REAL_T
00085 #endif
00086 
00087 #if !defined(CH_USE_FLOAT) && !defined(CH_USE_DOUBLE)
00088 #error Exactly one of CH_USE_FLOAT or CH_USE_DOUBLE must be defined
00089 #endif
00090 
00091 #endif /*CH_REAL_H*/

Generated on Wed Apr 16 14:31:05 2003 for EBChombo by doxygen1.2.16