Toast++  1.0.2 (r.539)
Forward and inverse modelling in optical tomography
mathlib.h
1 // -*-C++-*-
2 // ==========================================================================
3 // Module mathlib
4 // File mathlib.h
5 // General maths declarations and inclusion of maths headers
6 // ==========================================================================
7 
8 #ifndef __MATHLIB_H
9 #define __MATHLIB_H
10 
11 #include <math.h>
12 #include <stdlib.h>
13 
14 // General toast flags
15 #include "toastdef.h"
16 
17 // Symbol import/export direction
18 #ifdef MATHLIB_IMPLEMENTATION
19 #define MATHLIB DLLEXPORT
20 #else
21 #define MATHLIB DLLIMPORT
22 #endif
23 
24 #ifndef NO_MATH_HEADERS
25 #include "util.h"
26 #include "mathdef.h"
27 #include "error.h"
28 #include "nr.h"
29 
30 #include <complex>
31 //#include "complex.h"
32 //#include "scomplex.h"
33 
34 #include "vector.h"
35 #include "matrix.h"
36 #include "dgmatrix.h"
37 #include "dnsmatrix.h"
38 #include "symatrix.h"
39 #include "gsmatrix.h"
40 #include "cdmatrix.h"
41 #include "crmatrix.h"
42 #include "crmatrix_cm.h"
43 #include "scrmatrix.h"
44 #include "cr_cholesky.h"
45 #include "precon.h"
46 #include "gmres.h"
47 #include "eigpair.h"
48 #include "arpack.h"
49 #include "fourn.h" // only needed if using C version rather than C++
50 
51 #ifdef TOAST_THREAD
52 #include "task.h"
53 #endif
54 
55 #ifdef TOAST_MPI
56 #include <mpi.h>
57 #include "toast_mpi.h"
58 #include "dnsmatrix_mpi.h"
59 #include "crmatrix_mpi.h"
60 #endif
61 
62 #ifdef TOAST_PARALLEL
63 #include "task.h"
64 #endif
65 
66 #ifdef COMPUTE_FLOPS
67 extern unsigned int flops_add;
68 extern unsigned int flops_mul;
69 #endif
70 
71 #endif // !NO_MATH_HEADERS
72 
73 //#define SQR(x) ((x)*(x))
74 #define CUBE(x) ((x)*(x)*(x))
75 
76 // The template implementation headers
77 #include "vector_imp.hpp"
78 #include "gmres_imp.hpp"
79 #include "precon_imp.hpp"
80 #include "matrix_imp.hpp"
81 #include "dnsmatrix_imp.hpp"
82 #include "symatrix_imp.hpp"
83 #include "gsmatrix_imp.hpp"
84 #include "dgmatrix_imp.hpp"
85 #include "crmatrix_imp.hpp"
86 #include "cdmatrix_imp.hpp"
87 
88 #endif // !__MATHLIB_H