Go to the documentation of this file.00001
00002
00003
00006
00007 #ifndef INCLUDE_LIB
00008 #define INCLUDE_LIB
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #define UseExceptions // use C++ exceptions
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031 #define USING_DOUBLE // elements of type double
00032
00033
00034 #define bool_LIB 0 // for compatibility with my older libraries
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048 #define TypeDefException
00049
00050
00051
00052
00053
00054 #if defined __GNUG__ && __GNUG__ >= 3
00055 #define _STANDARD_ // use standard library
00056 #define ios_format_flags ios::fmtflags
00057 #endif
00058
00059
00060 #if defined __ICC
00061 #define _STANDARD_ // use standard library
00062 #define ios_format_flags ios::fmtflags
00063 #endif
00064
00065
00066 #if defined __BCPLUSPLUS__ && __BCPLUSPLUS__ >= 0x0582
00067 #define ios_format_flags ios::fmtflags
00068 #endif
00069
00070
00071 #if defined _MSC_VER && _MSC_VER >= 1300
00072 #define _STANDARD_ // use standard library
00073 #endif
00074
00075
00076 #ifdef _STANDARD_ // using standard library
00077 #include <cstdlib>
00078 #if defined _MSC_VER && _MSC_VER == 1200
00079 #include <limits>
00080 #endif
00081 #ifdef WANT_STREAM
00082 #include <iostream>
00083 #include <iomanip>
00084 #endif
00085 #ifdef WANT_MATH
00086 #include <cmath>
00087 #endif
00088 #ifdef WANT_STRING
00089 #include <cstring>
00090 #endif
00091 #ifdef WANT_TIME
00092 #include <ctime>
00093 #endif
00094 #ifdef WANT_FSTREAM
00095 #include <fstream>
00096 #endif
00097 using namespace std;
00098 #else
00099
00100 #define DEFAULT_HEADER // use AT&T style header
00101
00102
00103 #ifdef _MSC_VER // Microsoft
00104 #include <stdlib.h>
00105
00106
00107
00108
00109
00110
00111
00112
00113
00114 #ifdef WANT_STREAM
00115 #include <iostream.h>
00116 #include <iomanip.h>
00117 #endif
00118 #ifdef WANT_MATH
00119 #include <math.h>
00120 #include <float.h>
00121 #endif
00122 #ifdef WANT_STRING
00123 #include <string.h>
00124 #endif
00125 #ifdef WANT_TIME
00126 #include <time.h>
00127 #endif
00128 #ifdef WANT_FSTREAM
00129 #include <fstream.h>
00130 #endif
00131 #undef DEFAULT_HEADER
00132 #endif
00133
00134 #ifdef __ZTC__ // Zortech
00135 #include <stdlib.h>
00136 #ifdef WANT_STREAM
00137 #include <iostream.hpp>
00138 #include <iomanip.hpp>
00139 #define flush "" // not defined in iomanip?
00140 #endif
00141 #ifdef WANT_MATH
00142 #include <math.h>
00143 #include <float.h>
00144 #endif
00145 #ifdef WANT_STRING
00146 #include <string.h>
00147 #endif
00148 #ifdef WANT_TIME
00149 #include <time.h>
00150 #endif
00151 #ifdef WANT_FSTREAM
00152 #include <fstream.h>
00153 #endif
00154 #undef DEFAULT_HEADER
00155 #endif
00156
00157 #if defined __BCPLUSPLUS__ || defined __TURBOC__ // Borland or Turbo
00158 #include <stdlib.h>
00159 #ifdef WANT_STREAM
00160 #include <iostream.h>
00161 #include <iomanip.h>
00162 #endif
00163 #ifdef WANT_MATH
00164 #include <math.h>
00165 #include <float.h>
00166
00167
00168 #endif
00169 #ifdef WANT_STRING
00170 #include <string.h>
00171 #endif
00172 #ifdef WANT_TIME
00173 #include <time.h>
00174 #endif
00175 #ifdef WANT_FSTREAM
00176 #include <fstream.h>
00177 #endif
00178 #undef DEFAULT_HEADER
00179 #endif
00180
00181 #ifdef __GNUG__ // Gnu C++
00182 #include <stdlib.h>
00183 #ifdef WANT_STREAM
00184 #include <iostream.h>
00185 #include <iomanip.h>
00186 #endif
00187 #ifdef WANT_MATH
00188 #include <math.h>
00189 #include <float.h>
00190 #endif
00191 #ifdef WANT_STRING
00192 #include <string.h>
00193 #endif
00194 #ifdef WANT_TIME
00195 #include <time.h>
00196 #endif
00197 #ifdef WANT_FSTREAM
00198 #include <fstream.h>
00199 #endif
00200 #undef DEFAULT_HEADER
00201 #endif
00202
00203 #ifdef __WATCOMC__ // Watcom C/C++
00204 #include <stdlib.h>
00205 #ifdef WANT_STREAM
00206 #include <iostream.h>
00207 #include <iomanip.h>
00208 #endif
00209 #ifdef WANT_MATH
00210 #include <math.h>
00211 #include <float.h>
00212 #endif
00213 #ifdef WANT_STRING
00214 #include <string.h>
00215 #endif
00216 #ifdef WANT_TIME
00217 #include <time.h>
00218 #endif
00219 #ifdef WANT_FSTREAM
00220 #include <fstream.h>
00221 #endif
00222 #undef DEFAULT_HEADER
00223 #endif
00224
00225
00226 #ifdef macintosh // MPW C++ on the Mac
00227 #include <stdlib.h>
00228 #ifdef WANT_STREAM
00229 #include <iostream.h>
00230 #include <iomanip.h>
00231 #endif
00232 #ifdef WANT_MATH
00233 #include <float.h>
00234 #include <math.h>
00235 #endif
00236 #ifdef WANT_STRING
00237 #include <string.h>
00238 #endif
00239 #ifdef WANT_TIME
00240 #include <time.h>
00241 #endif
00242 #ifdef WANT_FSTREAM
00243 #include <fstream.h>
00244 #endif
00245 #undef DEFAULT_HEADER
00246 #endif
00247
00248 #ifdef use_float_h // use float.h for precision values
00249 #include <stdlib.h>
00250 #ifdef WANT_STREAM
00251 #include <iostream.h>
00252 #include <iomanip.h>
00253 #endif
00254 #ifdef WANT_MATH
00255 #include <float.h>
00256 #include <math.h>
00257 #endif
00258 #ifdef WANT_STRING
00259 #include <string.h>
00260 #endif
00261 #ifdef WANT_TIME
00262 #include <time.h>
00263 #endif
00264 #ifdef WANT_FSTREAM
00265 #include <fstream.h>
00266 #endif
00267 #undef DEFAULT_HEADER
00268 #endif
00269
00270
00271 #ifdef DEFAULT_HEADER // for example AT&T
00272 #define ATandT
00273 #include <stdlib.h>
00274 #ifdef WANT_STREAM
00275 #include <iostream.h>
00276 #include <iomanip.h>
00277 #endif
00278 #ifdef WANT_MATH
00279 #include <math.h>
00280 #define SystemV // use System V
00281 #include <values.h>
00282 #endif
00283 #ifdef WANT_STRING
00284 #include <string.h>
00285 #endif
00286 #ifdef WANT_TIME
00287 #include <time.h>
00288 #endif
00289 #ifdef WANT_FSTREAM
00290 #include <fstream.h>
00291 #endif
00292 #endif // DEFAULT_HEADER
00293
00294 #endif // _STANDARD_
00295
00296 #ifdef use_namespace
00297 namespace RBD_COMMON {
00298 #endif
00299
00300
00301 #ifdef USING_FLOAT // set precision type to float
00302 typedef float Real;
00303 typedef double long_Real;
00304 #endif
00305
00306 #ifdef USING_DOUBLE // set precision type to double
00307 typedef double Real;
00308 typedef long double long_Real;
00309 #endif
00310
00311
00312
00313
00314 #ifndef bool_LIB
00315 #define bool_LIB 0
00316
00317 class bool
00318 {
00319 int value;
00320 public:
00321 bool(const int b) { value = b ? 1 : 0; }
00322 bool(const void* b) { value = b ? 1 : 0; }
00323 bool() {}
00324 operator int() const { return value; }
00325 int operator!() const { return !value; }
00326 };
00327
00328
00329 const bool true = 1;
00330 const bool false = 0;
00331
00332 #endif
00333
00334
00335 #ifdef use_namespace
00336 }
00337 #endif
00338
00339
00340 #ifdef use_namespace
00341 namespace RBD_COMMON {}
00342 namespace RBD_LIBRARIES
00343 {
00344 using namespace RBD_COMMON;
00345 }
00346 #endif
00347
00348
00349 #endif
00350
00351
00353