11 #ifndef MLPACK_PREREQS_HPP
12 #define MLPACK_PREREQS_HPP
15 #define _USE_MATH_DEFINES
20 #pragma message "Armadillo was included before mlpack; this can sometimes cause\
21 problems. It should only be necessary to include <mlpack/core.hpp> and not \
39 #define M_PI 3.141592653589793238462643383279
44 #if defined(__GNUG__) && !defined(DEBUG)
46 #define force_inline __attribute__((always_inline))
47 #elif defined(_MSC_VER) && !defined(DEBUG)
49 #define force_inline __forceinline
53 #if __cplusplus <= 201103L
54 #if !defined(_MSC_VER) || _MSC_VER <= 1800
57 template<
bool B,
class T =
void>
65 #undef BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
66 #undef BOOST_MPL_LIMIT_LIST_SIZE
67 #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
68 #define BOOST_MPL_LIMIT_LIST_SIZE 50
74 #include <boost/serialization/serialization.hpp>
79 #include <boost/serialization/map.hpp>
82 #include "mlpack/core/boost_backport/boost_backport_serialization.hpp"
93 #if __cplusplus > 201103L && BOOST_VERSION < 105900
94 #error Use of C++14 mode with Boost < 1.59 is known to cause compilation \
95 problems. Instead specify the C++11 standard (-std=c++11 with gcc or clang), \
96 or upgrade Boost to 1.59 or newer.
103 #pragma warning(disable : 4519)
104 #define ARMA_USE_CXX11
108 #include <mlpack/core/arma_extend/arma_extend.hpp>
122 #define omp_size_t intmax_t
124 #define omp_size_t size_t
typename enable_if< B, T >::type enable_if_t