00001
00002
00003
00004 #ifndef INCLUDE_LIB
00005 #define INCLUDE_LIB
00006
00007 #define use_namespace // define name spaces
00008
00009
00010
00011
00012
00013
00014 #define UseExceptions // use C++ exceptions
00015
00016
00017 #define TEMPS_DESTROYED_QUICKLY // for compilers that delete
00018
00019
00020
00021
00022
00023
00024
00025 #define USING_DOUBLE // elements of type double
00026
00027
00028
00029
00030
00031
00032
00033
00034 #define DEFAULT_HEADER // use AT&T style header
00035
00036
00037 #ifdef _MSC_VER // Microsoft
00038 #include <stdlib.h>
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048 #ifdef WANT_STREAM
00049 #include <iostream.h>
00050 #include <iomanip.h>
00051 #endif
00052 #ifdef WANT_MATH
00053 #include <math.h>
00054 #include <float.h>
00055 #endif
00056 #undef DEFAULT_HEADER
00057 #endif
00058
00059 #ifdef __ZTC__ // Zortech
00060 #include <stdlib.h>
00061 #ifdef WANT_STREAM
00062 #include <iostream.hpp>
00063 #include <iomanip.hpp>
00064 #define flush "" // not defined in iomanip?
00065 #endif
00066 #ifdef WANT_MATH
00067 #include <math.h>
00068 #include <float.h>
00069 #endif
00070 #undef DEFAULT_HEADER
00071 #endif
00072
00073 #if defined __BCPLUSPLUS__ || defined __TURBOC__ // Borland or Turbo
00074 #include <stdlib.h>
00075 #ifdef WANT_STREAM
00076 #include <iostream.h>
00077 #include <iomanip.h>
00078 #endif
00079 #ifdef WANT_MATH
00080 #include <math.h>
00081 #define SystemV // optional in Borland
00082 #include <values.h>
00083
00084
00085 #endif
00086 #undef DEFAULT_HEADER
00087 #endif
00088
00089 #ifdef __GNUG__ // Gnu C++
00090 #include <stdlib.h>
00091 #ifdef WANT_STREAM
00092 #include <iostream.h>
00093 #include <iomanip.h>
00094 #endif
00095 #ifdef WANT_MATH
00096 #include <math.h>
00097 #include <float.h>
00098 #endif
00099 #undef DEFAULT_HEADER
00100 #endif
00101
00102 #ifdef Glock // Glockenspiel
00103 extern "C" { #include <stdlib.h> }
00104 #ifdef WANT_STREAM
00105 #include <stream.hxx>
00106 #include <iomanip.hxx>
00107 #endif
00108 #ifdef WANT_MATH
00109 extern "C" { #include <math.h> }
00110 extern "C" { #include <float.h> }
00111 #endif
00112 #define NO_LONG_NAMES // very long names don't work
00113 #undef DEFAULT_HEADER
00114 #endif
00115
00116 #ifdef __WATCOMC__ // Watcom C/C++
00117 #include <stdlib.h>
00118 #ifdef WANT_STREAM
00119 #include <iostream.h>
00120 #include <iomanip.h>
00121 #endif
00122 #ifdef WANT_MATH
00123 #include <math.h>
00124 #include <float.h>
00125 #endif
00126 #undef DEFAULT_HEADER
00127 #endif
00128
00129 #ifdef macintosh // MPW C++ on the Mac
00130 #include <stdlib.h>
00131 #ifdef WANT_STREAM
00132 #include <iostream.h>
00133 #include <iomanip.h>
00134 #endif
00135 #ifdef WANT_MATH
00136 #include <float.h>
00137 #include <math.h>
00138 #endif
00139 #undef DEFAULT_HEADER
00140 #endif
00141
00142 #ifdef DEFAULT_HEADER // for example AT&T
00143 #define ATandT
00144 #include <stdlib.h>
00145 #ifdef WANT_STREAM
00146 #include <iostream.h>
00147 #include <iomanip.h>
00148 #endif
00149 #ifdef WANT_MATH
00150 #include <math.h>
00151 #define SystemV // use System V
00152 #include <values.h>
00153 #endif
00154 #endif
00155
00156 #ifdef use_namespace
00157 namespace RBD_COMMON {
00158 #endif
00159
00160 #ifdef USING_FLOAT // set precision type to float
00161 typedef float Real;
00162 typedef double long_Real;
00163 #endif
00164
00165 #ifdef USING_DOUBLE // set precision type to double
00166 typedef double Real;
00167 typedef long double long_Real;
00168 #endif
00169
00170 #ifdef use_namespace
00171 }
00172 #endif
00173
00174 #ifdef use_namespace
00175 namespace RBD_COMMON {}
00176 namespace RBD_LIBRARIES {
00177 using namespace RBD_COMMON;
00178 }
00179 #endif
00180 #endif