#ifndef TEST_MATH_CONSTANTS_HPP #define TEST_MATH_CONSTANTS_HPP #include #include #include namespace mathtest { using namespace boost; // math constants c0 ... c99 template struct constant_tag {}; #define BOOST_PP_LOCAL_LIMITS (0, TEST_MATH_MAX_DIMENSION) #define BOOST_PP_LOCAL_MACRO(n)\ BOOST_PP_CAT(\ BOOST_PP_CAT(\ BOOST_PP_CAT(\ proto::terminal< constant_tag<\ BOOST_PP_CAT(n,> >::type c)\ ), n ), ={{}};) ??=include BOOST_PP_LOCAL_ITERATE() } #endif // TEST_MATH_CONSTANTS_HPP