source: ntrip/trunk/BNC/newmat/include.h@ 8901

Last change on this file since 8901 was 8901, checked in by stuerze, 4 years ago

upgrade to newmat11 library

File size: 8.4 KB
Line 
1/// \defgroup rbd_common RBD common library
2///@{
3
4/// \file include.h
5/// Set options and and details of include files.
6
7#ifndef INCLUDE_LIB
8#define INCLUDE_LIB
9
10//#define use_namespace // define name spaces
11
12#define SETUP_C_SUBSCRIPTS // allow element access via A[i][j]
13
14//#define OPT_COMPATIBLE // for use with opt++
15
16// Activate just one of the following 3 statements
17
18//#define SimulateExceptions // use simulated exceptions
19#define UseExceptions // use C++ exceptions
20//#define DisableExceptions // do not use exceptions
21
22
23//#define TEMPS_DESTROYED_QUICKLY // for compilers that delete
24 // temporaries too quickly
25
26//#define TEMPS_DESTROYED_QUICKLY_R // the same thing but applied
27 // to return from functions only
28
29//#define DO_FREE_CHECK // check news and deletes balance
30
31#define USING_DOUBLE // elements of type double
32//#define USING_FLOAT // elements of type float
33
34#define bool_LIB 0 // for compatibility with my older libraries
35
36//#define ios_format_flags ios::fmtflags // for Gnu 3 and Intel for Linux
37
38
39//#define _STANDARD_ // using standard library
40
41//#define use_float_h // use float.h for precision data
42
43
44//#define HAS_INT64 // if unsigned _int64 is recognised
45 // used by newran03
46
47//#define set_unix_options // set if running UNIX or LINUX
48
49// comment out next line if Exception causes a problem
50#define TypeDefException
51
52//*********************** end of options set by user ********************
53
54
55// for Gnu C++ version 3
56#if defined __GNUG__ && __GNUG__ >= 3
57 #define _STANDARD_ // use standard library
58 #define ios_format_flags ios::fmtflags
59#endif
60
61// for Intel C++ for Linux
62#if defined __ICC
63 #define _STANDARD_ // use standard library
64 #define ios_format_flags ios::fmtflags
65#endif
66
67// for Intel C++ for Windows
68#if defined __ICL
69 #define _STANDARD_ // use standard library
70 #define ios_format_flags ios::fmtflags
71#endif
72
73// for Microsoft Visual C++ 7 and above (and Intel simulating these)
74#if defined _MSC_VER && _MSC_VER >= 1300
75 #define _STANDARD_ // use standard library
76#endif
77
78// for Borland Builder C++ 2006 and above
79#if defined __BCPLUSPLUS__ && __BCPLUSPLUS__ >= 0x0570
80 #define _STANDARD_ // use standard library
81 #define ios_format_flags ios::fmtflags
82#endif
83
84
85#ifdef _STANDARD_ // using standard library
86 #include <cstdlib>
87 #if defined _MSC_VER && _MSC_VER == 1200
88 #include <limits> // for VC++6
89 #endif
90 #ifdef WANT_STREAM
91 #include <iostream>
92 #include <iomanip>
93 #endif
94 #ifdef WANT_MATH
95 #include <cmath>
96 #endif
97 #ifdef WANT_STRING
98 #include <cstring>
99 #endif
100 #ifdef WANT_TIME
101 #include <ctime>
102 #endif
103 #ifdef WANT_FSTREAM
104 #include <fstream>
105 #endif
106 using namespace std;
107#else
108
109#define DEFAULT_HEADER // use AT&T style header
110 // if no other compiler is recognised
111
112#ifdef _MSC_VER // Microsoft
113 #include <stdlib.h>
114
115// reactivate these statements to run under MSC version 7.0
116// typedef int jmp_buf[9];
117// extern "C"
118// {
119// int __cdecl setjmp(jmp_buf);
120// void __cdecl longjmp(jmp_buf, int);
121// }
122
123 #ifdef WANT_STREAM
124 #include <iostream.h>
125 #include <iomanip.h>
126 #endif
127 #ifdef WANT_MATH
128 #include <math.h>
129 #include <float.h>
130 #endif
131 #ifdef WANT_STRING
132 #include <string.h>
133 #endif
134 #ifdef WANT_TIME
135 #include <time.h>
136 #endif
137 #ifdef WANT_FSTREAM
138 #include <fstream.h>
139 #endif
140 #undef DEFAULT_HEADER
141#endif
142
143#ifdef __ZTC__ // Zortech
144 #include <stdlib.h>
145 #ifdef WANT_STREAM
146 #include <iostream.hpp>
147 #include <iomanip.hpp>
148 #define flush "" // not defined in iomanip?
149 #endif
150 #ifdef WANT_MATH
151 #include <math.h>
152 #include <float.h>
153 #endif
154 #ifdef WANT_STRING
155 #include <string.h>
156 #endif
157 #ifdef WANT_TIME
158 #include <time.h>
159 #endif
160 #ifdef WANT_FSTREAM
161 #include <fstream.h>
162 #endif
163 #undef DEFAULT_HEADER
164#endif
165
166#if defined __BCPLUSPLUS__ || defined __TURBOC__ // Borland or Turbo
167 #include <stdlib.h>
168 #ifdef WANT_STREAM
169 #include <iostream.h>
170 #include <iomanip.h>
171 #endif
172 #ifdef WANT_MATH
173 #include <math.h>
174 #include <float.h> // Borland has both float and values
175 // but values.h returns +INF for
176 // MAXDOUBLE in BC5
177 #endif
178 #ifdef WANT_STRING
179 #include <string.h>
180 #endif
181 #ifdef WANT_TIME
182 #include <time.h>
183 #endif
184 #ifdef WANT_FSTREAM
185 #include <fstream.h>
186 #endif
187 #undef DEFAULT_HEADER
188#endif
189
190#ifdef __GNUG__ // Gnu C++
191 #include <stdlib.h>
192 #ifdef WANT_STREAM
193 #include <iostream.h>
194 #include <iomanip.h>
195 #endif
196 #ifdef WANT_MATH
197 #include <math.h>
198 #include <float.h>
199 #endif
200 #ifdef WANT_STRING
201 #include <string.h>
202 #endif
203 #ifdef WANT_TIME
204 #include <time.h>
205 #endif
206 #ifdef WANT_FSTREAM
207 #include <fstream.h>
208 #endif
209 #undef DEFAULT_HEADER
210#endif
211
212#ifdef __WATCOMC__ // Watcom C/C++
213 #include <stdlib.h>
214 #ifdef WANT_STREAM
215 #include <iostream.h>
216 #include <iomanip.h>
217 #endif
218 #ifdef WANT_MATH
219 #include <math.h>
220 #include <float.h>
221 #endif
222 #ifdef WANT_STRING
223 #include <string.h>
224 #endif
225 #ifdef WANT_TIME
226 #include <time.h>
227 #endif
228 #ifdef WANT_FSTREAM
229 #include <fstream.h>
230 #endif
231 #undef DEFAULT_HEADER
232#endif
233
234
235#ifdef macintosh // MPW C++ on the Mac
236#include <stdlib.h>
237#ifdef WANT_STREAM
238#include <iostream.h>
239#include <iomanip.h>
240#endif
241#ifdef WANT_MATH
242#include <float.h>
243#include <math.h>
244#endif
245#ifdef WANT_STRING
246#include <string.h>
247#endif
248#ifdef WANT_TIME
249#include <time.h>
250#endif
251#ifdef WANT_FSTREAM
252#include <fstream.h>
253#endif
254#undef DEFAULT_HEADER
255#endif
256
257#ifdef use_float_h // use float.h for precision values
258#include <stdlib.h>
259#ifdef WANT_STREAM
260#include <iostream.h>
261#include <iomanip.h>
262#endif
263#ifdef WANT_MATH
264#include <float.h>
265#include <math.h>
266#endif
267#ifdef WANT_STRING
268#include <string.h>
269#endif
270#ifdef WANT_TIME
271#include <time.h>
272#endif
273#ifdef WANT_FSTREAM
274#include <fstream.h>
275#endif
276#undef DEFAULT_HEADER
277#endif
278
279
280#ifdef DEFAULT_HEADER // for example AT&T
281#define ATandT
282#include <stdlib.h>
283#ifdef WANT_STREAM
284#include <iostream.h>
285#include <iomanip.h>
286#endif
287#ifdef WANT_MATH
288#include <math.h>
289#define SystemV // use System V
290#include <values.h>
291#endif
292#ifdef WANT_STRING
293#include <string.h>
294#endif
295#ifdef WANT_TIME
296#include <time.h>
297#endif
298#ifdef WANT_FSTREAM
299#include <fstream.h>
300#endif
301#endif // DEFAULT_HEADER
302
303#endif // _STANDARD_
304
305#ifdef use_namespace
306namespace RBD_COMMON {
307#endif
308
309
310#ifdef USING_FLOAT // set precision type to float
311typedef float Real;
312typedef double long_Real;
313#endif
314
315#ifdef USING_DOUBLE // set precision type to double
316typedef double Real;
317typedef long double long_Real;
318#endif
319
320
321// This is for (very old) compilers that do not have bool automatically defined
322
323#ifndef bool_LIB
324#define bool_LIB 0
325
326class bool
327{
328 int value;
329public:
330 bool(const int b) { value = b ? 1 : 0; }
331 bool(const void* b) { value = b ? 1 : 0; }
332 bool() {}
333 operator int() const { return value; }
334 int operator!() const { return !value; }
335};
336
337
338const bool true = 1;
339const bool false = 0;
340
341#endif
342
343
344#ifdef use_namespace
345}
346#endif
347
348
349#ifdef use_namespace
350namespace RBD_COMMON {}
351namespace RBD_LIBRARIES // access all my libraries
352{
353 using namespace RBD_COMMON;
354}
355#endif
356
357
358#endif
359
360
361///@}
362
Note: See TracBrowser for help on using the repository browser.