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(MLPACK_COUT_STREAM) 45 #define MLPACK_COUT_STREAM std::cout 50 #if !defined(MLPACK_CERR_STREAM) 51 #define MLPACK_CERR_STREAM std::cerr 56 #if defined(__GNUG__) && !defined(DEBUG) 58 #define force_inline __attribute__((always_inline)) 59 #elif defined(_MSC_VER) && !defined(DEBUG) 61 #define force_inline __forceinline 65 #if __cplusplus <= 201103L 66 #if !defined(_MSC_VER) || _MSC_VER <= 1800 69 template<
bool B,
class T =
void>
77 #undef BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS 78 #undef BOOST_MPL_LIMIT_LIST_SIZE 79 #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS 80 #define BOOST_MPL_LIMIT_LIST_SIZE 50 86 #include <boost/serialization/serialization.hpp> 91 #include <boost/serialization/map.hpp> 94 #include "mlpack/core/boost_backport/boost_backport_serialization.hpp" 105 #if __cplusplus > 201103L && BOOST_VERSION < 105900 106 #error Use of C++14 mode with Boost < 1.59 is known to cause compilation \ 107 problems. Instead specify the C++11 standard (-std=c++11 with gcc or clang), \ 108 or upgrade Boost to 1.59 or newer. 115 #pragma warning(disable : 4519) 116 #define ARMA_USE_CXX11 120 #include <mlpack/core/arma_extend/arma_extend.hpp> 134 #define omp_size_t intmax_t 136 #define omp_size_t size_t
typename enable_if< B, T >::type enable_if_t