albertaheader.hh

00001 #ifndef DUNE_ALBERTAHEADER_HH
00002 #define DUNE_ALBERTAHEADER_HH
00003 
00004 // if we have ALBERTA C++ lib define namespace for ALBERTA
00005 #ifdef __ALBERTApp__
00006 #define ALBERTA Alberta:: 
00007 #else
00008 #define ALBERTA
00009 #endif
00010 
00011 // the keyword ALBERTA stands for ALBERTA routines 
00012 #ifndef __ALBERTApp__
00013 extern "C" 
00014 {
00015 #endif
00016 
00017 // we dont use the el->index, its for debugging
00018 #ifndef EL_INDEX 
00019 #define EL_INDEX 0
00020 #else
00021 #if EL_INDEX != 0
00022 #warning "EL_INDEX != 0, but not used in interface implementation!\n"
00023 #endif
00024 #endif
00025   
00026   
00027 #ifndef NEIGH_IN_EL
00028 // neighbours were calculated on walkthrough
00029 #define NEIGH_IN_EL 0
00030 #else 
00031 #if NEIGH_IN_EL != 0
00032 #error "NEIGH_IN_EL != 0 is not supported by this implementation!\n"  
00033 #endif
00034 #endif
00035 
00036 // MAX, MIN, and ABS are defined macros of ALBERTA
00037 // if they are not defined elsewhere, they are undefined here
00038 #ifndef MAX 
00039 #define _MAX_NOT_DEFINED_
00040 #endif
00041   
00042 #ifndef MIN 
00043 #define _MIN_NOT_DEFINED_
00044 #endif
00045   
00046 #ifndef ABS 
00047 #define _ABS_NOT_DEFINED_
00048 #endif
00049 
00050 #ifndef DIM 
00051 #error "DIM or DIM_OF_WORLD not defined!"
00052 #endif
00053   
00054 #include <alberta.h>
00055 
00056 #ifndef _ALBERTA_H_
00057 #error "Couldn't find alberta.h for include! "
00058 #endif
00059   
00060 #ifdef _ABS_NOT_DEFINED_
00061 #undef ABS
00062 #endif
00063   
00064 #ifdef _MIN_NOT_DEFINED_
00065 #undef MIN
00066 #endif
00067   
00068 #ifdef _MAX_NOT_DEFINED_
00069 #undef MAX
00070 #endif
00071 
00072 #ifndef __ALBERTApp__
00073 } // end extern "C"
00074 #endif
00075 
00076 
00077 
00078 #endif

Generated on 12 Dec 2007 with Doxygen (ver 1.5.1)