Medusa  1.1
Coordinate Free Mehless Method implementation
Config.hpp
Go to the documentation of this file.
1 #ifndef MEDUSA_CONFIG_HPP_
2 #define MEDUSA_CONFIG_HPP_
3 
9 #define EIGEN_MATRIXBASE_PLUGIN "medusa/bits/types/MatrixBaseAddons.hpp"
11 #define EIGEN_MATRIX_PLUGIN "medusa/bits/types/MatrixAddons.hpp"
13 
15 #ifdef EIGEN_DEFAULT_IO_FORMAT
16 #error "Medusa's Eigen configuration was included after Eigen. Make sure you include this header "
17  "before including any of the Eigen headers."
18 # include <stophereandnow> // Make sure to not compile further and emit a bunch of Eigen errors.
19 #else
20 #define EIGEN_DEFAULT_IO_FORMAT Eigen::IOFormat(Eigen::StreamPrecision, \
21  Eigen::DontAlignCols, ", ", "; ", "", "", "[", "]")
22 #endif
23 #define SINL EIGEN_STRONG_INLINE
25 
26 #ifndef NDEBUG
27 #define EIGEN_INITIALIZE_MATRICES_BY_NAN
29 #endif
30 
31 #include <vector>
32 
34 namespace mm {
35 
36 typedef std::vector<int> indexes_t;
37 
39 template <typename T>
40 struct Pi {
41  static constexpr T value = T(3.14159265358979323846264338327950L);
42 };
43 
44 static const double PI = Pi<double>::value;
45 static const double INF = 1.0 / 0.0;
46 static const double NaN = 0.0 / 0.0;
47 
48 } // namespace mm
49 
50 #endif // MEDUSA_CONFIG_HPP_
mm
Root namespace for the whole library.
Definition: Gaussian.hpp:14
mm::NaN
static const double NaN
Not-a-number floating point value.
Definition: Config.hpp:46
mm::indexes_t
std::vector< int > indexes_t
Class representing a collection of indices.
Definition: Config.hpp:36
mm::INF
static const double INF
Infinite floating point value.
Definition: Config.hpp:45
mm::Pi
Value of Pi in type T. Usage:
Definition: Config.hpp:40
mm::Pi::value
static constexpr T value
Value of .
Definition: Config.hpp:41
mm::PI
static const double PI
Mathematical constant pi in double precision.
Definition: Config.hpp:44