00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef FILE_SELDONDATA_SELDONDATA_HXX
00019
00020
00021 #include <blitz/array.h>
00022 using namespace blitz;
00023
00024
00025 #include <Talos.hxx>
00026 using namespace Talos;
00027
00028 #include <string>
00029 #include <sstream>
00030 #include <exception>
00031 #include <stdexcept>
00032
00034 namespace SeldonData
00035 {
00036 }
00037
00038
00040
00042
00043 #ifdef SELDONDATA_DEBUG_LEVEL_4
00044 #ifndef SELDONDATA_DEBUG_LEVEL_3
00045 #define SELDONDATA_DEBUG_LEVEL_3
00046 #endif
00047 #endif
00048
00049 #ifdef SELDONDATA_DEBUG_LEVEL_3
00050 #ifndef SELDONDATA_DEBUG_CHECK_INDICES
00051 #define SELDONDATA_DEBUG_CHECK_INDICES
00052 #endif
00053 #ifndef SELDONDATA_DEBUG_LEVEL_2
00054 #define SELDONDATA_DEBUG_LEVEL_2
00055 #endif
00056 #endif
00057
00058 #ifdef SELDONDATA_DEBUG_LEVEL_2
00059 #ifndef SELDONDATA_DEBUG_CHECK_DIMENSIONS
00060 #define SELDONDATA_DEBUG_CHECK_DIMENSIONS
00061 #endif
00062 #ifndef SELDONDATA_DEBUG_LEVEL_1
00063 #define SELDONDATA_DEBUG_LEVEL_1
00064 #endif
00065 #endif
00066
00067 #ifdef SELDONDATA_DEBUG_LEVEL_1
00068 #ifndef SELDONDATA_DEBUG_CHECK_MEMORY
00069 #define SELDONDATA_DEBUG_CHECK_MEMORY
00070 #endif
00071 #ifndef SELDONDATA_DEBUG_CHECK_IO
00072 #define SELDONDATA_DEBUG_CHECK_IO
00073 #endif
00074 #ifndef SELDONDATA_DEBUG_LEVEL_0
00075 #define SELDONDATA_DEBUG_LEVEL_0
00076 #endif
00077 #endif
00078
00079
00080 #include "Errors.hxx"
00081
00082
00084
00086
00088
00105 #ifdef TRY
00106 #undef TRY
00107 #endif
00108 #define TRY try \
00109 {
00110
00111 #ifdef END
00112 #undef END
00113 #endif
00114 #define END \
00115 } \
00116 catch(SeldonData::Error& Err) \
00117 { \
00118 Err.What(); \
00119 return 1; \
00120 } \
00121 catch (std::exception& Err) \
00122 { \
00123 cout << "C++ exception: " << Err.what() << endl; \
00124 return 1; \
00125 } \
00126 catch (std::string& str) \
00127 { \
00128 cout << str << endl; \
00129 return 1; \
00130 } \
00131 catch (const char* str) \
00132 { \
00133 cout << str << endl; \
00134 return 1; \
00135 } \
00136 catch(...) \
00137 { \
00138 cout << "Unknown error..." <<endl; \
00139 return 1; \
00140 }
00141
00142
00143 #include <algorithm>
00144
00145 #include "Function.hxx"
00146 #include "Grid.cxx"
00147 #include "Data.cxx"
00148 #include "Format.cxx"
00149 #include "Functions.cxx"
00150
00151 #define FILE_SELDONDATA_SELDONDATA_HXX
00152 #endif