[1.48.0] Beta 1 is now available from SourceForge

Boost release 1.48.0 beta 1 is now available from SourceForge See http://sourceforge.net/projects/boost/files/boost/1.48.0.beta.1/ This release includes 3 new libraries (Container, Locale and Move), an extension to TypeTraits to support operator detection as well as updates to many existing libraries. For partial details of what's in the release, see http://beta.boost.org/users/history/version_1_48_0.html. This page is still in process of being updated, and there are some known issues with links. Please download the beta, give it a try, and report any problems you encounter. Thanks, -- The Boost Release Team Beman Dawes Daniel James Eric Niebler Rene Rivera Vladimir Prus

On Oct 27, 2011, at 8:17 AM, Beman Dawes wrote:
Boost release 1.48.0 beta 1 is now available from SourceForge
[snip]
Please download the beta, give it a try, and report any problems you encounter.
Downloaded and tried on Mac OS X 10.7.2, with Xcode 4.2 - using both "darwin" and "clang" toolsets. Darwin results: a couple warnings. Clang results: 12 failed targets ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/threading-multi/cyl_bessel_i.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/threading-multi/cyl_bessel_k.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/threading-multi/cyl_bessel_if.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/threading-multi/cyl_bessel_kf.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/threading-multi/cyl_bessel_il.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/threading-multi/cyl_bessel_kl.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/link-static/threading-multi/cyl_bessel_i.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/link-static/threading-multi/cyl_bessel_k.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/link-static/threading-multi/cyl_bessel_if.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/link-static/threading-multi/cyl_bessel_kf.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/link-static/threading-multi/cyl_bessel_il.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/link-static/threading-multi/cyl_bessel_kl.o... ...failed updating 12 targets… Here's one of the compile failures:
clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/threading-multi/cyl_bessel_i.o In file included from libs/math/build/../src/tr1/cyl_bessel_i.cpp:11: In file included from ./boost/math/special_functions/bessel.hpp:20: ./boost/math/special_functions/detail/bessel_ik.hpp:320:16: error: call to function 'bessel_i_small_z_series' that is neither visible in the template definition nor found by argument-dependent lookup Iv = bessel_i_small_z_series(v, x, pol); ^ ./boost/math/special_functions/bessel.hpp:276:4: note: in instantiation of function template specialization 'boost::math::detail::bessel_ik<long double, boost::math::policies::policy<domain_error<errno_on_error>, pole_error<errno_on_error>, overflow_error<errno_on_error>, evaluation_error<errno_on_error>, rounding_error<errno_on_error>, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy> >' requested here bessel_ik(v, x, &I, &K, need_i, pol); ^ ./boost/math/special_functions/bessel.hpp:464:65: note: in instantiation of function template specialization 'boost::math::detail::cyl_bessel_i_imp<long double, boost::math::policies::policy<domain_error<errno_on_error>, pole_error<errno_on_error>, overflow_error<errno_on_error>, evaluation_error<errno_on_error>, rounding_error<errno_on_error>, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy> >' requested here return policies::checked_narrowing_cast<result_type, Policy>(detail::cyl_bessel_i_imp<value_type>(v, static_cast<value_type>(x), pol), "boost::math::cyl_bessel_i<%1%>(%1%,%1%)"); ^ libs/math/src/tr1/c_policy.hpp:129:1: note: in instantiation of function template specialization 'boost::math::cyl_bessel_i<double, double, boost::math::policies::policy<domain_error<errno_on_error>, pole_error<errno_on_error>, overflow_error<errno_on_error>, evaluation_error<errno_on_error>, rounding_error<errno_on_error>, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy, boost::math::policies::default_policy> >' requested here BOOST_MATH_DECLARE_SPECIAL_FUNCTIONS(c_policy) ^ ./boost/math/special_functions/math_fwd.hpp:992:38: note: instantiated from: cyl_bessel_i(T1 v, T2 x) { return boost::math::cyl_bessel_i(v, x, Policy()); }\ ^ libs/math/build/../src/tr1/cyl_bessel_i.cpp:16:11: note: in instantiation of function template specialization 'c_policies::cyl_bessel_i<double, double>' requested here return c_policies::cyl_bessel_i BOOST_PREVENT_MACRO_SUBSTITUTION(nu, x); ^ ./boost/math/special_functions/bessel.hpp:195:10: note: 'bessel_i_small_z_series' should be declared prior to the call site or in an associated namespace of one of its arguments inline T bessel_i_small_z_series(T v, T x, const Policy& pol) ^ 1 error generated.
"clang++" -x c++ -O3 -O3 -finline-functions -Wno-inline -Wall -DBOOST_ALL_NO_LIB=1 -DBOOST_MATH_TR1_DYN_LINK=1 -DNDEBUG -I"." -I"libs/math/src/tr1" -c -o "bin.v2/libs/math/build/clang-darwin-4.2.1/release/threading-multi/cyl_bessel_i.o" "libs/math/build/../src/tr1/cyl_bessel_i.cpp"
-- Marshall Marshall Clow Idio Software <mailto:mclow.lists@gmail.com> A.D. 1517: Martin Luther nails his 95 Theses to the church door and is promptly moderated down to (-1, Flamebait). -- Yu Suzuki

On Oct 27, 2011, at 9:25 AM, Marshall Clow wrote:
On Oct 27, 2011, at 8:17 AM, Beman Dawes wrote:
Boost release 1.48.0 beta 1 is now available from SourceForge
[snip]
Please download the beta, give it a try, and report any problems you encounter.
Downloaded and tried on Mac OS X 10.7.2, with Xcode 4.2 - using both "darwin" and "clang" toolsets.
Darwin results: a couple warnings. Clang results: 12 failed targets
...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/threading-multi/cyl_bessel_i.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/threading-multi/cyl_bessel_k.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/threading-multi/cyl_bessel_if.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/threading-multi/cyl_bessel_kf.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/threading-multi/cyl_bessel_il.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/threading-multi/cyl_bessel_kl.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/link-static/threading-multi/cyl_bessel_i.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/link-static/threading-multi/cyl_bessel_k.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/link-static/threading-multi/cyl_bessel_if.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/link-static/threading-multi/cyl_bessel_kf.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/link-static/threading-multi/cyl_bessel_il.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/link-static/threading-multi/cyl_bessel_kl.o... ...failed updating 12 targets…
I re-ran the tests using TOT clang (this morning), and got the same results. $ clang --version Apple clang version 3.0 (tags/Apple/clang-211.10.1) (based on LLVM 3.0svn) Target: x86_64-apple-darwin11.2.0 === and === $ clang --version clang version 3.1 (trunk 143101) Target: x86_64-apple-darwin11.2.0 -- Marshall Marshall Clow Idio Software <mailto:mclow.lists@gmail.com> A.D. 1517: Martin Luther nails his 95 Theses to the church door and is promptly moderated down to (-1, Flamebait). -- Yu Suzuki

Here's one of the compile failures:
clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/threading-multi/cyl_bessel_i.o In file included from libs/math/build/../src/tr1/cyl_bessel_i.cpp:11: In file included from ./boost/math/special_functions/bessel.hpp:20: ./boost/math/special_functions/detail/bessel_ik.hpp:320:16: error: call to function 'bessel_i_small_z_series' that is neither visible in the template definition nor found by argument-dependent lookup Iv = bessel_i_small_z_series(v, x, pol); ^
Sigh.... Investigating a possible fix now, John.

...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/threading-multi/cyl_bessel_i.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/threading-multi/cyl_bessel_k.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/threading-multi/cyl_bessel_if.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/threading-multi/cyl_bessel_kf.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/threading-multi/cyl_bessel_il.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/threading-multi/cyl_bessel_kl.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/link-static/threading-multi/cyl_bessel_i.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/link-static/threading-multi/cyl_bessel_k.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/link-static/threading-multi/cyl_bessel_if.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/link-static/threading-multi/cyl_bessel_kf.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/link-static/threading-multi/cyl_bessel_il.o... ...failed clang-darwin.compile.c++ bin.v2/libs/math/build/clang-darwin-4.2.1/release/link-static/threading-multi/cyl_bessel_kl.o... ...failed updating 12 targets…
Here's one of the compile failures:
Marshall, would you be able to test the patch below with clang? Many thanks, John. Index: special_functions/bessel.hpp =================================================================== --- special_functions/bessel.hpp (revision 74925) +++ special_functions/bessel.hpp (working copy) @@ -166,61 +166,6 @@ } template <class T, class Policy> -struct cyl_bessel_i_small_z -{ - typedef T result_type; - - cyl_bessel_i_small_z(T v_, T z_) : k(0), v(v_), mult(z_*z_/4) - { - BOOST_MATH_STD_USING - term = 1; - } - - T operator()() - { - T result = term; - ++k; - term *= mult / k; - term /= k + v; - return result; - } -private: - unsigned k; - T v; - T term; - T mult; -}; - -template <class T, class Policy> -inline T bessel_i_small_z_series(T v, T x, const Policy& pol) -{ - BOOST_MATH_STD_USING - T prefix; - if(v < max_factorial<T>::value) - { - prefix = pow(x / 2, v) / boost::math::tgamma(v + 1, pol); - } - else - { - prefix = v * log(x / 2) - boost::math::lgamma(v + 1, pol); - prefix = exp(prefix); - } - if(prefix == 0) - return prefix; - - cyl_bessel_i_small_z<T, Policy> s(v, x); - boost::uintmax_t max_iter = policies::get_max_series_iterations<Policy>(); -#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) - T zero = 0; - T result = boost::math::tools::sum_series(s, boost::math::policies::get_epsilon<T, Policy>(), max_iter, zero); -#else - T result = boost::math::tools::sum_series(s, boost::math::policies::get_epsilon<T, Policy>(), max_iter); -#endif - policies::check_series_iterations<T>("boost::math::bessel_j_small_z_series<%1%>(%1%,%1%)", max_iter, pol); - return prefix * result; -} - -template <class T, class Policy> T cyl_bessel_i_imp(T v, T x, const Policy& pol) { // Index: special_functions/detail/bessel_ik.hpp =================================================================== --- special_functions/detail/bessel_ik.hpp (revision 74925) +++ special_functions/detail/bessel_ik.hpp (working copy) @@ -23,6 +23,61 @@ namespace detail { +template <class T, class Policy> +struct cyl_bessel_i_small_z +{ + typedef T result_type; + + cyl_bessel_i_small_z(T v_, T z_) : k(0), v(v_), mult(z_*z_/4) + { + BOOST_MATH_STD_USING + term = 1; + } + + T operator()() + { + T result = term; + ++k; + term *= mult / k; + term /= k + v; + return result; + } +private: + unsigned k; + T v; + T term; + T mult; +}; + +template <class T, class Policy> +inline T bessel_i_small_z_series(T v, T x, const Policy& pol) +{ + BOOST_MATH_STD_USING + T prefix; + if(v < max_factorial<T>::value) + { + prefix = pow(x / 2, v) / boost::math::tgamma(v + 1, pol); + } + else + { + prefix = v * log(x / 2) - boost::math::lgamma(v + 1, pol); + prefix = exp(prefix); + } + if(prefix == 0) + return prefix; + + cyl_bessel_i_small_z<T, Policy> s(v, x); + boost::uintmax_t max_iter = policies::get_max_series_iterations<Policy>(); +#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x582)) + T zero = 0; + T result = boost::math::tools::sum_series(s, boost::math::policies::get_epsilon<T, Policy>(), max_iter, zero); +#else + T result = boost::math::tools::sum_series(s, boost::math::policies::get_epsilon<T, Policy>(), max_iter); +#endif + policies::check_series_iterations<T>("boost::math::bessel_j_small_z_series<%1%>(%1%,%1%)", max_iter, pol); + return prefix * result; +} + // Calculate K(v, x) and K(v+1, x) by method analogous to // Temme, Journal of Computational Physics, vol 21, 343 (1976) template <typename T, typename Policy>

Beta 1 compiles nicely on a Ubuntu 11.04 x86_64 / g++ 4.5.2 . Tested the Geneva library (close to 100000 LOC / uses a large number of Boost libraries) with it which runs o.k., including the test suite. So no problems here. Best Regards, Ruediger Beman Dawes wrote:
Boost release 1.48.0 beta 1 is now available from SourceForge
See http://sourceforge.net/projects/boost/files/boost/1.48.0.beta.1/
This release includes 3 new libraries (Container, Locale and Move), an extension to TypeTraits to support operator detection as well as updates to many existing libraries.
For partial details of what's in the release, see http://beta.boost.org/users/history/version_1_48_0.html. This page is still in process of being updated, and there are some known issues with links.
Please download the beta, give it a try, and report any problems you encounter.
Thanks,
-- The Boost Release Team
Beman Dawes Daniel James Eric Niebler Rene Rivera Vladimir Prus
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
participants (4)
-
Beman Dawes
-
John Maddock
-
Marshall Clow
-
Ruediger Berlich