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