00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef FILE_MULTIVAC_HXX
00021
00022
00023
00024
00025
00026
00027
00029 #ifdef MULTIVAC_DEBUG_LEVEL_4
00030
00031 #ifndef SELDON_DEBUG_LEVEL_4
00032 #define SELDON_DEBUG_LEVEL_4
00033 #endif
00034
00035 #ifndef MULTIVAC_DEBUG_LEVEL_3
00036 #define MULTIVAC_DEBUG_LEVEL_3
00037 #endif
00038
00039 #endif
00040
00041
00042
00043 #ifdef MULTIVAC_DEBUG_LEVEL_3
00044
00045 #ifndef SELDON_DEBUG_LEVEL_3
00046 #define SELDON_DEBUG_LEVEL_3
00047 #endif
00048
00050 #ifndef MULTIVAC_CHECK_BOUNDARIES
00051 #define MULTIVAC_CHECK_BOUNDARIES
00052 #endif
00053
00054 #ifndef MULTIVAC_DEBUG_LEVEL_2
00055 #define MULTIVAC_DEBUG_LEVEL_2
00056 #endif
00057
00058 #endif
00059
00060
00061
00062 #ifdef MULTIVAC_DEBUG_LEVEL_2
00063
00064 #ifndef SELDON_DEBUG_LEVEL_2
00065 #define SELDON_DEBUG_LEVEL_2
00066 #endif
00067
00069 #ifndef MULTIVAC_CHECK_MEMORY
00070 #define MULTIVAC_CHECK_MEMORY
00071 #endif
00072
00074 #ifndef MULTIVAC_CHECK_IO
00075 #define MULTIVAC_CHECK_IO
00076 #endif
00077
00079 #ifndef MULTIVAC_CHECK_INSTABILITY
00080 #define MULTIVAC_CHECK_INSTABILITY
00081 #endif
00082
00083 #ifndef MULTIVAC_DEBUG_LEVEL_1
00084 #define MULTIVAC_DEBUG_LEVEL_1
00085 #endif
00086
00087 #endif
00088
00089
00090
00091 #ifdef MULTIVAC_DEBUG_LEVEL_1
00092
00093 #ifndef MULTIVAC_DEBUG_LEVEL_2
00094
00095 #ifndef MULTIVAC_WITHOUT_THROW
00096 #define MULTIVAC_WITHOUT_THROW
00097 #endif
00098 #endif
00099
00100 #ifndef MULTIVAC_CHECK_COMPATIBILITY
00101 #define MULTIVAC_CHECK_COMPATIBILITY
00102 #endif
00103
00104 #ifndef SELDON_DEBUG_LEVEL_1
00105 #define SELDON_DEBUG_LEVEL_1
00106 #endif
00107
00108 #endif
00109
00110
00111
00112
00113
00114
00115 #ifndef ERR
00116 #define ERR(x) cout << "Hermes - " #x << endl
00117 #endif
00118
00119 #ifndef DISPLAY
00120 #define DISPLAY(x) cout << #x ": " << x << endl
00121 #endif
00122
00123 #ifndef DISP
00124 #define DISP(x) cout << #x ": " << x << endl
00125 #endif
00126
00127
00128
00129
00130 namespace std {}
00131
00132 namespace Multivac
00133 {
00134
00135 using namespace std;
00136
00137 template <class T> class CMesh;
00138 template <class T> class CLevelSet;
00139 template <class T> class CSpeedFunction;
00140 template <class T> class CInitialCurve;
00141 template <class T> class CInitializer;
00142 template <class T> class CUpdater;
00143 template <class T> class CSpeedFunction;
00144 template <class T> class CSaver;
00145
00146 }
00147
00148
00149
00150
00151 #include <cmath>
00152 #include <algorithm>
00153
00154 namespace Multivac
00155 {
00156
00157 using namespace std;
00158
00159 template <class T>
00160 inline T sign(T x)
00161 {
00162 return (x<0?-1.0:1.0);
00163 }
00164
00165 }
00166
00167
00168
00169
00170 #include "includes.hxx"
00171
00172
00173 #define FILE_MULTIVAC_HXX
00174 #endif