diff --git a/doc/sf_and_dist/roadmap.qbk b/doc/sf_and_dist/roadmap.qbk index 3ba84d13b..00dbaa0b5 100644 --- a/doc/sf_and_dist/roadmap.qbk +++ b/doc/sf_and_dist/roadmap.qbk @@ -71,7 +71,7 @@ on error rates. SVN Revisions: -Sandbox and trunk last synchonised at revision: 44695. +Sandbox and trunk last synchonised at revision: 45480. ] [/ @@ -81,3 +81,4 @@ Sandbox and trunk last synchonised at revision: 44695. http://www.boost.org/LICENSE_1_0.txt). ] + diff --git a/include/boost/math/concepts/real_concept.hpp b/include/boost/math/concepts/real_concept.hpp index a419d96cc..ad9ceebb6 100644 --- a/include/boost/math/concepts/real_concept.hpp +++ b/include/boost/math/concepts/real_concept.hpp @@ -66,7 +66,10 @@ public: real_concept(int c) : m_value(c){} real_concept(unsigned long c) : m_value(c){} real_concept(long c) : m_value(c){} -#if defined(BOOST_HAS_LONG_LONG) || defined(__DECCXX) || defined(__SUNPRO_CC) +#if defined(__DECCXX) || defined(__SUNPRO_CC) + real_concept(unsigned long long c) : m_value(static_cast(c)){} + real_concept(long long c) : m_value(static_cast(c)){} +#elif defined(BOOST_HAS_LONG_LONG) real_concept(unsigned long long c) : m_value(static_cast(c)){} real_concept(long long c) : m_value(static_cast(c)){} #elif defined(BOOST_HAS_MS_INT64) diff --git a/include/boost/math/concepts/std_real_concept.hpp b/include/boost/math/concepts/std_real_concept.hpp index 00391c644..b5517c3c3 100644 --- a/include/boost/math/concepts/std_real_concept.hpp +++ b/include/boost/math/concepts/std_real_concept.hpp @@ -58,7 +58,10 @@ public: std_real_concept(int c) : m_value(c){} std_real_concept(unsigned long c) : m_value(c){} std_real_concept(long c) : m_value(c){} -#if defined(BOOST_HAS_LONG_LONG) || defined(__DECCXX) || defined(__SUNPRO_CC) +#if defined(__DECCXX) || defined(__SUNPRO_CC) + std_real_concept(unsigned long long c) : m_value(static_cast(c)){} + std_real_concept(long long c) : m_value(static_cast(c)){} +#elif defined(BOOST_HAS_LONG_LONG) std_real_concept(unsigned long long c) : m_value(static_cast(c)){} std_real_concept(long long c) : m_value(static_cast(c)){} #endif @@ -79,7 +82,10 @@ public: std_real_concept& operator=(unsigned int c) { m_value = c; return *this; } std_real_concept& operator=(long c) { m_value = c; return *this; } std_real_concept& operator=(unsigned long c) { m_value = c; return *this; } -#if defined(BOOST_HAS_LONG_LONG) || defined(__DECCXX) || defined(__SUNPRO_CC) +#if defined(__DECCXX) || defined(__SUNPRO_CC) + std_real_concept& operator=(unsigned long long c) { m_value = static_cast(c); return *this; } + std_real_concept& operator=(long long c) { m_value = static_cast(c); return *this; } +#elif defined(BOOST_HAS_LONG_LONG) std_real_concept& operator=(long long c) { m_value = static_cast(c); return *this; } std_real_concept& operator=(unsigned long long c) { m_value = static_cast(c); return *this; } #endif diff --git a/test/compile_test/instantiate.hpp b/test/compile_test/instantiate.hpp index b753941e1..5ae153880 100644 --- a/test/compile_test/instantiate.hpp +++ b/test/compile_test/instantiate.hpp @@ -16,6 +16,8 @@ #include #include +#ifndef BOOST_MATH_INSTANTIATE_MINIMUM + typedef boost::math::policies::policy<> test_policy; namespace test{ @@ -29,6 +31,7 @@ namespace dist_test{ BOOST_MATH_DECLARE_DISTRIBUTIONS(double, test_policy) } +#endif namespace boost{ namespace math{ // @@ -79,7 +82,7 @@ void instantiate(RealType) function_requires > >(); function_requires > >(); function_requires > >(); - +#ifndef BOOST_MATH_INSTANTIATE_MINIMUM function_requires > >(); function_requires > >(); function_requires > >(); @@ -128,7 +131,7 @@ void instantiate(RealType) function_requires >(); function_requires >(); function_requires >(); - +#endif int i; RealType v1(0.5), v2(0.5), v3(0.5); boost::math::tgamma(v1); @@ -242,7 +245,7 @@ void instantiate(RealType) #ifdef BOOST_HAS_LONG_LONG boost::math::lltrunc(v1); boost::math::llround(v1); - long long ll; + boost::long_long_type ll; boost::math::modf(v1, &ll); #endif boost::math::pow<2>(v1); @@ -502,7 +505,7 @@ void instantiate_mixed(RealType) { using namespace boost; using namespace boost::math; - +#ifndef BOOST_MATH_INSTANTIATE_MINIMUM int i = 1; long l = 1; short s = 1; @@ -851,7 +854,9 @@ void instantiate_mixed(RealType) test::sph_bessel(i, 1); test::sph_neumann(i, lr); test::sph_neumann(i, i); +#endif } #endif // BOOST_LIBS_MATH_TEST_INSTANTIATE_HPP + diff --git a/test/compile_test/sf_modf_incl_test.cpp b/test/compile_test/sf_modf_incl_test.cpp index 42a9d9177..2c8ebb967 100644 --- a/test/compile_test/sf_modf_incl_test.cpp +++ b/test/compile_test/sf_modf_incl_test.cpp @@ -20,7 +20,7 @@ long double lldd; int ii; long ll; #ifdef BOOST_HAS_LONG_LONG -long long llll; +boost::long_long_type llll; #endif void check() diff --git a/test/compile_test/sf_round_incl_test.cpp b/test/compile_test/sf_round_incl_test.cpp index 4c89e9027..e351fc556 100644 --- a/test/compile_test/sf_round_incl_test.cpp +++ b/test/compile_test/sf_round_incl_test.cpp @@ -31,10 +31,10 @@ void check() check_result(boost::math::lround(l)); #endif #ifdef BOOST_HAS_LONG_LONG - check_result(boost::math::llround(f)); - check_result(boost::math::llround(d)); + check_result(boost::math::llround(f)); + check_result(boost::math::llround(d)); #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS - check_result(boost::math::llround(l)); + check_result(boost::math::llround(l)); #endif #endif } diff --git a/test/compile_test/sf_trunc_incl_test.cpp b/test/compile_test/sf_trunc_incl_test.cpp index 3b0295468..4da5deba2 100644 --- a/test/compile_test/sf_trunc_incl_test.cpp +++ b/test/compile_test/sf_trunc_incl_test.cpp @@ -31,10 +31,10 @@ void check() check_result(boost::math::ltrunc(l)); #endif #ifdef BOOST_HAS_LONG_LONG - check_result(boost::math::lltrunc(f)); - check_result(boost::math::lltrunc(d)); + check_result(boost::math::lltrunc(f)); + check_result(boost::math::lltrunc(d)); #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS - check_result(boost::math::lltrunc(l)); + check_result(boost::math::lltrunc(l)); #endif #endif } diff --git a/test/compile_test/test_compile_result.hpp b/test/compile_test/test_compile_result.hpp index 993d9dc43..b3e331b81 100644 --- a/test/compile_test/test_compile_result.hpp +++ b/test/compile_test/test_compile_result.hpp @@ -24,7 +24,7 @@ inline void check_result_imp(long double, long double){} inline void check_result_imp(int, int){} inline void check_result_imp(long, long){} #ifdef BOOST_HAS_LONG_LONG -inline void check_result_imp(long long, long long){} +inline void check_result_imp(boost::long_long_type, boost::long_long_type){} #endif inline void check_result_imp(bool, bool){} diff --git a/test/pow_test.cpp b/test/pow_test.cpp index 313b7a3b3..c9f8f5319 100644 --- a/test/pow_test.cpp +++ b/test/pow_test.cpp @@ -109,7 +109,7 @@ void test_return_types() #ifndef BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS BOOST_STATIC_ASSERT((is_same(7.0l)), long double>::value)); #endif -}; +} namespace boost { namespace math { namespace policies { diff --git a/test/test_rational_instances/test_rational_double4.cpp b/test/test_rational_instances/test_rational_double4.cpp index 64e31eccd..7e7faa8a5 100644 --- a/test/test_rational_instances/test_rational_double4.cpp +++ b/test/test_rational_instances/test_rational_double4.cpp @@ -6,5 +6,5 @@ #include "test_rational.hpp" #ifdef BOOST_HAS_LONG_LONG -template void do_test_spots(double, unsigned long long); +template void do_test_spots(double, boost::ulong_long_type); #endif diff --git a/test/test_rational_instances/test_rational_float4.cpp b/test/test_rational_instances/test_rational_float4.cpp index 49f792016..4e55876da 100644 --- a/test/test_rational_instances/test_rational_float4.cpp +++ b/test/test_rational_instances/test_rational_float4.cpp @@ -7,5 +7,5 @@ #include "test_rational.hpp" #ifdef BOOST_HAS_LONG_LONG -template void do_test_spots(float, unsigned long long); +template void do_test_spots(float, boost::ulong_long_type); #endif diff --git a/test/test_rational_instances/test_rational_ldouble4.cpp b/test/test_rational_instances/test_rational_ldouble4.cpp index 9b945b186..63b5a1b8e 100644 --- a/test/test_rational_instances/test_rational_ldouble4.cpp +++ b/test/test_rational_instances/test_rational_ldouble4.cpp @@ -7,5 +7,5 @@ #include "test_rational.hpp" #ifdef BOOST_HAS_LONG_LONG -template void do_test_spots(long double, unsigned long long); +template void do_test_spots(long double, boost::ulong_long_type); #endif diff --git a/test/test_rational_instances/test_rational_real_concept4.cpp b/test/test_rational_instances/test_rational_real_concept4.cpp index e74537f75..2dd58713f 100644 --- a/test/test_rational_instances/test_rational_real_concept4.cpp +++ b/test/test_rational_instances/test_rational_real_concept4.cpp @@ -11,6 +11,6 @@ #include #ifdef BOOST_HAS_LONG_LONG -template void do_test_spots(boost::math::concepts::real_concept, unsigned long long); +template void do_test_spots(boost::math::concepts::real_concept, boost::ulong_long_type); #endif #endif diff --git a/test/test_rationals.cpp b/test/test_rationals.cpp index 7987cdfc9..ac53caee1 100644 --- a/test/test_rationals.cpp +++ b/test/test_rationals.cpp @@ -20,7 +20,7 @@ void test_spots(T t, const char* n) do_test_spots(t, int(0)); do_test_spots(t, unsigned(0)); #ifdef BOOST_HAS_LONG_LONG - do_test_spots(t, (unsigned long long)(0)); + do_test_spots(t, (boost::ulong_long_type)(0)); #endif do_test_spots(t, float(0)); do_test_spots(t, T(0)); diff --git a/test/test_round.cpp b/test/test_round.cpp index bb63f40b5..e3c71fcc2 100644 --- a/test/test_round.cpp +++ b/test/test_round.cpp @@ -141,9 +141,9 @@ void test_round(T, const char* name) } #ifdef BOOST_HAS_LONG_LONG - if(abs(r) < (std::numeric_limits::max)()) + if(abs(r) < (std::numeric_limits::max)()) { - long long ll = boost::math::llround(arg); + boost::long_long_type ll = boost::math::llround(arg); check_within_half(arg, ll); ll = boost::math::lltrunc(arg); check_trunc_result(arg, ll); diff --git a/vc71_fix/instantiate_all.cpp b/vc71_fix/instantiate_all.cpp index 450ca188e..0a7357ff5 100644 --- a/vc71_fix/instantiate_all.cpp +++ b/vc71_fix/instantiate_all.cpp @@ -14,8 +14,10 @@ // as that would lead to recursive project dependencies... // -#include "../test/compile_test/instantiate.hpp" +#define BOOST_MATH_ASSERT_UNDEFINED_POLICY false +#define BOOST_MATH_INSTANTIATE_MINIMUM #include +#include "../test/compile_test/instantiate.hpp" void some_proc() {