Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r78253 - in trunk: boost/math/special_functions libs/math/doc/sf_and_dist libs/math/doc/sf_and_dist/html libs/math/doc/sf_and_dist/html/index libs/math/doc/sf_and_dist/html/math_toolkit/main_overview libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel libs/math/doc/sf_and_dist/html/math_toolkit/status libs/math/test libs/math/test/compile_test
From: john_at_[hidden]
Date: 2012-04-29 08:39:32


Author: johnmaddock
Date: 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
New Revision: 78253
URL: http://svn.boost.org/trac/boost/changeset/78253

Log:
Rename hankel_hX to hankel_X.
Update tests and docs for Hankel functions.
Text files modified:
   trunk/boost/math/special_functions/hankel.hpp | 34 +++++++++++++++++-----------------
   trunk/boost/math/special_functions/math_fwd.hpp | 37 +++++++++++++++++++++++++++++++++----
   trunk/libs/math/doc/sf_and_dist/hankel.qbk | 30 +++++++++++++++---------------
   trunk/libs/math/doc/sf_and_dist/html/index.html | 2 +-
   trunk/libs/math/doc/sf_and_dist/html/index/s13.html | 4 ++--
   trunk/libs/math/doc/sf_and_dist/html/index/s14.html | 4 ++--
   trunk/libs/math/doc/sf_and_dist/html/index/s15.html | 4 ++--
   trunk/libs/math/doc/sf_and_dist/html/index/s16.html | 4 ++--
   trunk/libs/math/doc/sf_and_dist/html/index/s17.html | 4 ++--
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/conventions.html | 2 +-
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/history1.html | 17 ++++++++++++-----
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/navigation.html | 2 +-
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel/cyl_hankel.html | 19 ++++++++++---------
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel/sph_hankel.html | 19 ++++++++++---------
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/history1.html | 17 ++++++++++++-----
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/issues.html | 18 +++---------------
   trunk/libs/math/doc/sf_and_dist/issues.qbk | 7 -------
   trunk/libs/math/doc/sf_and_dist/math.qbk | 9 +++++----
   trunk/libs/math/doc/sf_and_dist/roadmap.qbk | 5 +++--
   trunk/libs/math/test/compile_test/instantiate.hpp | 30 ++++++++++++++++++++++++++++++
   trunk/libs/math/test/test_hankel.cpp | 18 +++++++++---------
   trunk/libs/math/test/test_instantiate1.cpp | 2 ++
   trunk/libs/math/test/test_instantiate2.cpp | 2 ++
   23 files changed, 176 insertions(+), 114 deletions(-)

Modified: trunk/boost/math/special_functions/hankel.hpp
==============================================================================
--- trunk/boost/math/special_functions/hankel.hpp (original)
+++ trunk/boost/math/special_functions/hankel.hpp 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -17,7 +17,7 @@
 std::complex<T> hankel_imp(T v, T x, const bessel_no_int_tag&, const Policy& pol, int sign)
 {
    BOOST_MATH_STD_USING
- static const char* function = "boost::math::cyl_hankel_h1<%1%>(%1%,%1%)";
+ static const char* function = "boost::math::cyl_hankel_1<%1%>(%1%,%1%)";
 
    if(x < 0)
    {
@@ -98,65 +98,65 @@
 } // namespace detail
 
 template <class T1, class T2, class Policy>
-inline std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> cyl_hankel_h1(T1 v, T2 x, const Policy& pol)
+inline std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> cyl_hankel_1(T1 v, T2 x, const Policy& pol)
 {
    BOOST_FPU_EXCEPTION_GUARD
    typedef typename detail::bessel_traits<T1, T2, Policy>::result_type result_type;
    typedef typename detail::bessel_traits<T1, T2, Policy>::optimisation_tag tag_type;
    typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<std::complex<result_type>, Policy>(detail::hankel_imp<value_type>(v, static_cast<value_type>(x), tag_type(), pol, 1), "boost::math::cyl_hankel_h1<%1%>(%1%,%1%)");
+ return policies::checked_narrowing_cast<std::complex<result_type>, Policy>(detail::hankel_imp<value_type>(v, static_cast<value_type>(x), tag_type(), pol, 1), "boost::math::cyl_hankel_1<%1%>(%1%,%1%)");
 }
 
 template <class T1, class T2>
-inline std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> cyl_hankel_h1(T1 v, T2 x)
+inline std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> cyl_hankel_1(T1 v, T2 x)
 {
- return cyl_hankel_h1(v, x, policies::policy<>());
+ return cyl_hankel_1(v, x, policies::policy<>());
 }
 
 template <class T1, class T2, class Policy>
-inline std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> cyl_hankel_h2(T1 v, T2 x, const Policy& pol)
+inline std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> cyl_hankel_2(T1 v, T2 x, const Policy& pol)
 {
    BOOST_FPU_EXCEPTION_GUARD
    typedef typename detail::bessel_traits<T1, T2, Policy>::result_type result_type;
    typedef typename detail::bessel_traits<T1, T2, Policy>::optimisation_tag tag_type;
    typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<std::complex<result_type>, Policy>(detail::hankel_imp<value_type>(v, static_cast<value_type>(x), tag_type(), pol, -1), "boost::math::cyl_hankel_h1<%1%>(%1%,%1%)");
+ return policies::checked_narrowing_cast<std::complex<result_type>, Policy>(detail::hankel_imp<value_type>(v, static_cast<value_type>(x), tag_type(), pol, -1), "boost::math::cyl_hankel_1<%1%>(%1%,%1%)");
 }
 
 template <class T1, class T2>
-inline std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> cyl_hankel_h2(T1 v, T2 x)
+inline std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> cyl_hankel_2(T1 v, T2 x)
 {
- return cyl_hankel_h2(v, x, policies::policy<>());
+ return cyl_hankel_2(v, x, policies::policy<>());
 }
 
 template <class T1, class T2, class Policy>
-inline std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> sph_hankel_h1(T1 v, T2 x, const Policy& pol)
+inline std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> sph_hankel_1(T1 v, T2 x, const Policy& pol)
 {
    BOOST_FPU_EXCEPTION_GUARD
    typedef typename detail::bessel_traits<T1, T2, Policy>::result_type result_type;
    typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<std::complex<result_type>, Policy>(detail::sph_hankel_imp<value_type>(static_cast<value_type>(v), static_cast<value_type>(x), pol, 1), "boost::math::sph_hankel_h1<%1%>(%1%,%1%)");
+ return policies::checked_narrowing_cast<std::complex<result_type>, Policy>(detail::sph_hankel_imp<value_type>(static_cast<value_type>(v), static_cast<value_type>(x), pol, 1), "boost::math::sph_hankel_1<%1%>(%1%,%1%)");
 }
 
 template <class T1, class T2>
-inline std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> sph_hankel_h1(T1 v, T2 x)
+inline std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> sph_hankel_1(T1 v, T2 x)
 {
- return sph_hankel_h1(v, x, policies::policy<>());
+ return sph_hankel_1(v, x, policies::policy<>());
 }
 
 template <class T1, class T2, class Policy>
-inline std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> sph_hankel_h2(T1 v, T2 x, const Policy& pol)
+inline std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> sph_hankel_2(T1 v, T2 x, const Policy& pol)
 {
    BOOST_FPU_EXCEPTION_GUARD
    typedef typename detail::bessel_traits<T1, T2, Policy>::result_type result_type;
    typedef typename policies::evaluation<result_type, Policy>::type value_type;
- return policies::checked_narrowing_cast<std::complex<result_type>, Policy>(detail::sph_hankel_imp<value_type>(static_cast<value_type>(v), static_cast<value_type>(x), pol, -1), "boost::math::sph_hankel_h1<%1%>(%1%,%1%)");
+ return policies::checked_narrowing_cast<std::complex<result_type>, Policy>(detail::sph_hankel_imp<value_type>(static_cast<value_type>(v), static_cast<value_type>(x), pol, -1), "boost::math::sph_hankel_1<%1%>(%1%,%1%)");
 }
 
 template <class T1, class T2>
-inline std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> sph_hankel_h2(T1 v, T2 x)
+inline std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> sph_hankel_2(T1 v, T2 x)
 {
- return sph_hankel_h2(v, x, policies::policy<>());
+ return sph_hankel_2(v, x, policies::policy<>());
 }
 
 }} // namespaces

Modified: trunk/boost/math/special_functions/math_fwd.hpp
==============================================================================
--- trunk/boost/math/special_functions/math_fwd.hpp (original)
+++ trunk/boost/math/special_functions/math_fwd.hpp 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -616,16 +616,28 @@
    typename detail::bessel_traits<T, T, policies::policy<> >::result_type sph_neumann(unsigned v, T x);
 
    template <class T1, class T2, class Policy>
- std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> cyl_hankel_h1(T1 v, T2 x, const Policy& pol);
+ std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> cyl_hankel_1(T1 v, T2 x, const Policy& pol);
 
    template <class T1, class T2>
- std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> cyl_hankel_h1(T1 v, T2 x);
+ std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> cyl_hankel_1(T1 v, T2 x);
 
    template <class T1, class T2, class Policy>
- std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> cyl_hankel_h2(T1 v, T2 x, const Policy& pol);
+ std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> cyl_hankel_2(T1 v, T2 x, const Policy& pol);
 
    template <class T1, class T2>
- std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> cyl_hankel_h2(T1 v, T2 x);
+ std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> cyl_hankel_2(T1 v, T2 x);
+
+ template <class T1, class T2, class Policy>
+ std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> sph_hankel_1(T1 v, T2 x, const Policy& pol);
+
+ template <class T1, class T2>
+ std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> sph_hankel_1(T1 v, T2 x);
+
+ template <class T1, class T2, class Policy>
+ std::complex<typename detail::bessel_traits<T1, T2, Policy>::result_type> sph_hankel_2(T1 v, T2 x, const Policy& pol);
+
+ template <class T1, class T2>
+ std::complex<typename detail::bessel_traits<T1, T2, policies::policy<> >::result_type> sph_hankel_2(T1 v, T2 x);
 
    template <class T, class Policy>
    typename tools::promote_args<T>::type sin_pi(T x, const Policy&);
@@ -1086,6 +1098,23 @@
    \
    template <class RT1, class RT2>\
    inline typename boost::math::tools::promote_args<RT1, RT2>::type owens_t(RT1 a, RT2 z){ return boost::math::owens_t(a, z, Policy()); }\
+ \
+ template <class T1, class T2>\
+ inline std::complex<typename boost::math::detail::bessel_traits<T1, T2, Policy >::result_type> cyl_hankel_1(T1 v, T2 x)\
+ { return boost::math::cyl_hankel_1(v, x, Policy()); }\
+ \
+ template <class T1, class T2>\
+ inline std::complex<typename boost::math::detail::bessel_traits<T1, T2, Policy >::result_type> cyl_hankel_2(T1 v, T2 x)\
+ { return boost::math::cyl_hankel_2(v, x, Policy()); }\
+ \
+ template <class T1, class T2>\
+ inline std::complex<typename boost::math::detail::bessel_traits<T1, T2, Policy >::result_type> sph_hankel_1(T1 v, T2 x)\
+ { return boost::math::sph_hankel_1(v, x, Policy()); }\
+ \
+ template <class T1, class T2>\
+ inline std::complex<typename boost::math::detail::bessel_traits<T1, T2, Policy >::result_type> sph_hankel_2(T1 v, T2 x)\
+ { return boost::math::sph_hankel_2(v, x, Policy()); }\
+
 
 
 #endif // BOOST_MATH_SPECIAL_MATH_FWD_HPP

Modified: trunk/libs/math/doc/sf_and_dist/hankel.qbk
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/hankel.qbk (original)
+++ trunk/libs/math/doc/sf_and_dist/hankel.qbk 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -5,26 +5,26 @@
 [h4 Synopsis]
 
    template <class T1, class T2>
- std::complex<``__sf_result``> cyl_hankel_h1(T1 v, T2 x);
+ std::complex<``__sf_result``> cyl_hankel_1(T1 v, T2 x);
 
    template <class T1, class T2, class ``__Policy``>
- std::complex<``__sf_result``> cyl_hankel_h1(T1 v, T2 x, const ``__Policy``&);
+ std::complex<``__sf_result``> cyl_hankel_1(T1 v, T2 x, const ``__Policy``&);
 
    template <class T1, class T2>
- std::complex<``__sf_result``> cyl_hankel_h2(T1 v, T2 x);
+ std::complex<``__sf_result``> cyl_hankel_2(T1 v, T2 x);
    
    template <class T1, class T2, class ``__Policy``>
- std::complex<``__sf_result``> cyl_hankel_h2(T1 v, T2 x, const ``__Policy``&);
+ std::complex<``__sf_result``> cyl_hankel_2(T1 v, T2 x, const ``__Policy``&);
    
    
 [h4 Description]
 
-The functions __cyl_hankel_h1 and __cyl_hankel_h2 return the result of the
-Hankel H1 and H2 functions respectively:
+The functions __cyl_hankel_1 and __cyl_hankel_2 return the result of the
+Hankel functions of the first and second kind respectively:
 
-[:['cyl_hankel_h1(v, x) = H[sub v][super (1)](x) = J[sub v](x) + i Y[sub v](x)]]
+[:['cyl_hankel_1(v, x) = H[sub v][super (1)](x) = J[sub v](x) + i Y[sub v](x)]]
 
-[:['cyl_hankel_h2(v, x) = H[sub v][super (2)](x) = J[sub v](x) - i Y[sub v](x)]]
+[:['cyl_hankel_2(v, x) = H[sub v][super (2)](x) = J[sub v](x) - i Y[sub v](x)]]
 
 where:
 
@@ -77,22 +77,22 @@
 [h4 Synopsis]
 
    template <class T1, class T2>
- std::complex<``__sf_result``> sph_hankel_h1(T1 v, T2 x);
+ std::complex<``__sf_result``> sph_hankel_1(T1 v, T2 x);
 
    template <class T1, class T2, class ``__Policy``>
- std::complex<``__sf_result``> sph_hankel_h1(T1 v, T2 x, const ``__Policy``&);
+ std::complex<``__sf_result``> sph_hankel_1(T1 v, T2 x, const ``__Policy``&);
 
    template <class T1, class T2>
- std::complex<``__sf_result``> sph_hankel_h2(T1 v, T2 x);
+ std::complex<``__sf_result``> sph_hankel_2(T1 v, T2 x);
    
    template <class T1, class T2, class ``__Policy``>
- std::complex<``__sf_result``> sph_hankel_h2(T1 v, T2 x, const ``__Policy``&);
+ std::complex<``__sf_result``> sph_hankel_2(T1 v, T2 x, const ``__Policy``&);
    
    
 [h4 Description]
 
-The functions __sph_hankel_h1 and __sph_hankel_h2 return the result of the
-spherical Hankel H1 and H2 functions respectively:
+The functions __sph_hankel_1 and __sph_hankel_2 return the result of the
+spherical Hankel functions of the first and second kind respectively:
 
 [equation hankel4]
 
@@ -122,7 +122,7 @@
 
 [h4 Implementation]
 
-These functions are trivially implemented in terms of __cyl_hankel_h1 and __cyl_hankel_h2.
+These functions are trivially implemented in terms of __cyl_hankel_1 and __cyl_hankel_2.
 
 [endsect]
 [endsect]

Modified: trunk/libs/math/doc/sf_and_dist/html/index.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/index.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/index.html 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -541,7 +541,7 @@
   </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: April 28, 2012 at 17:45:37 GMT</small></p></td>
+<td align="left"><p><small>Last revised: April 29, 2012 at 12:25:56 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: trunk/libs/math/doc/sf_and_dist/html/index/s13.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/index/s13.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/index/s13.html 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -22,9 +22,9 @@
 <div class="spirit-nav">
 <a accesskey="p" href="../math_toolkit/status/credits.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s14.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section id1288536">
+<div class="section id1287106">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id1288536"></a>Function Index</h2></div></div></div>
+<a name="id1287106"></a>Function Index</h2></div></div></div>
 <p><a class="link" href="s13.html#idx_id_0">A</a> <a class="link" href="s13.html#idx_id_1">B</a> <a class="link" href="s13.html#idx_id_2">C</a> <a class="link" href="s13.html#idx_id_3">D</a> <a class="link" href="s13.html#idx_id_4">E</a> <a class="link" href="s13.html#idx_id_5">F</a> <a class="link" href="s13.html#idx_id_6">G</a> <a class="link" href="s13.html#idx_id_7">H</a> <a class="link" href="s13.html#idx_id_8">I</a> <a class="link" href="s13.html#idx_id_9">K</a> <a class="link" href="s13.html#idx_id_10">L</a> <a class="link" href="s13.html#idx_id_11">M</a> <a class="link" href="s13.html#idx_id_12">N</a> <a class="link" href="s13.html#idx_id_13">O</a> <a class="link" href="s13.html#idx_id_14">P</a> <a class="link" href="s13.html#idx_id_15">Q</a> <a class="link" href="s13.html#idx_id_16">R</a> <a class="link" href="s13.html#idx_id_17">S</a> <a class="link" href="s13.html#idx_id_18">T</a> <a class="link" href="s13.html#idx_id_19">U</a> <a class="link" href="s13.html#idx_id_20">V</a> <a class="link" href=
"s13.html#idx_id_21">W</a> <a class="link" href="s13.html#idx_id_22">Z</a></p>
 <div class="variablelist"><dl>
 <dt>

Modified: trunk/libs/math/doc/sf_and_dist/html/index/s14.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/index/s14.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/index/s14.html 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -22,9 +22,9 @@
 <div class="spirit-nav">
 <a accesskey="p" href="s13.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s15.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section id1305881">
+<div class="section id1303632">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id1305881"></a>Class Index</h2></div></div></div>
+<a name="id1303632"></a>Class Index</h2></div></div></div>
 <p><a class="link" href="s14.html#idx_id_24">B</a> <a class="link" href="s14.html#idx_id_25">C</a> <a class="link" href="s14.html#idx_id_26">D</a> <a class="link" href="s14.html#idx_id_27">E</a> <a class="link" href="s14.html#idx_id_28">F</a> <a class="link" href="s14.html#idx_id_29">G</a> <a class="link" href="s14.html#idx_id_30">H</a> <a class="link" href="s14.html#idx_id_31">I</a> <a class="link" href="s14.html#idx_id_33">L</a> <a class="link" href="s14.html#idx_id_34">M</a> <a class="link" href="s14.html#idx_id_35">N</a> <a class="link" href="s14.html#idx_id_37">P</a> <a class="link" href="s14.html#idx_id_39">R</a> <a class="link" href="s14.html#idx_id_40">S</a> <a class="link" href="s14.html#idx_id_41">T</a> <a class="link" href="s14.html#idx_id_42">U</a> <a class="link" href="s14.html#idx_id_44">W</a></p>
 <div class="variablelist"><dl>
 <dt>

Modified: trunk/libs/math/doc/sf_and_dist/html/index/s15.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/index/s15.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/index/s15.html 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -22,9 +22,9 @@
 <div class="spirit-nav">
 <a accesskey="p" href="s14.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s16.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section id1306822">
+<div class="section id1304573">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id1306822"></a>Typedef Index</h2></div></div></div>
+<a name="id1304573"></a>Typedef Index</h2></div></div></div>
 <p><a class="link" href="s15.html#idx_id_46">A</a> <a class="link" href="s15.html#idx_id_47">B</a> <a class="link" href="s15.html#idx_id_48">C</a> <a class="link" href="s15.html#idx_id_49">D</a> <a class="link" href="s15.html#idx_id_50">E</a> <a class="link" href="s15.html#idx_id_51">F</a> <a class="link" href="s15.html#idx_id_52">G</a> <a class="link" href="s15.html#idx_id_53">H</a> <a class="link" href="s15.html#idx_id_54">I</a> <a class="link" href="s15.html#idx_id_56">L</a> <a class="link" href="s15.html#idx_id_58">N</a> <a class="link" href="s15.html#idx_id_59">O</a> <a class="link" href="s15.html#idx_id_60">P</a> <a class="link" href="s15.html#idx_id_62">R</a> <a class="link" href="s15.html#idx_id_63">S</a> <a class="link" href="s15.html#idx_id_64">T</a> <a class="link" href="s15.html#idx_id_65">U</a> <a class="link" href="s15.html#idx_id_66">V</a> <a class="link" href="s15.html#idx_id_67">W</a></p>
 <div class="variablelist"><dl>
 <dt>

Modified: trunk/libs/math/doc/sf_and_dist/html/index/s16.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/index/s16.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/index/s16.html 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -22,9 +22,9 @@
 <div class="spirit-nav">
 <a accesskey="p" href="s15.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="s17.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section id1310004">
+<div class="section id1308575">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id1310004"></a>Macro Index</h2></div></div></div>
+<a name="id1308575"></a>Macro Index</h2></div></div></div>
 <p><a class="link" href="s16.html#idx_id_70">B</a> <a class="link" href="s16.html#idx_id_74">F</a></p>
 <div class="variablelist"><dl>
 <dt>

Modified: trunk/libs/math/doc/sf_and_dist/html/index/s17.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/index/s17.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/index/s17.html 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -21,9 +21,9 @@
 <div class="spirit-nav">
 <a accesskey="p" href="s16.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a>
 </div>
-<div class="section id1312324">
+<div class="section id1311440">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id1312324"></a>Index</h2></div></div></div>
+<a name="id1311440"></a>Index</h2></div></div></div>
 <p><a class="link" href="s17.html#idx_id_92">A</a> <a class="link" href="s17.html#idx_id_93">B</a> <a class="link" href="s17.html#idx_id_94">C</a> <a class="link" href="s17.html#idx_id_95">D</a> <a class="link" href="s17.html#idx_id_96">E</a> <a class="link" href="s17.html#idx_id_97">F</a> <a class="link" href="s17.html#idx_id_98">G</a> <a class="link" href="s17.html#idx_id_99">H</a> <a class="link" href="s17.html#idx_id_100">I</a> <a class="link" href="s17.html#idx_id_101">K</a> <a class="link" href="s17.html#idx_id_102">L</a> <a class="link" href="s17.html#idx_id_103">M</a> <a class="link" href="s17.html#idx_id_104">N</a> <a class="link" href="s17.html#idx_id_105">O</a> <a class="link" href="s17.html#idx_id_106">P</a> <a class="link" href="s17.html#idx_id_107">Q</a> <a class="link" href="s17.html#idx_id_108">R</a> <a class="link" href="s17.html#idx_id_109">S</a> <a class="link" href="s17.html#idx_id_110">T</a> <a class="link" href="s17.html#idx_id_111">U</a> <a class="link" href="s17.html#idx_id_112">V</a
> <a class="link" href="s17.html#idx_id_113">W</a> <a class="link" href="s17.html#idx_id_114">Z</a></p>
 <div class="variablelist"><dl>
 <dt>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/conventions.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/conventions.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/conventions.html 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -27,7 +27,7 @@
 <a name="math_toolkit.main_overview.conventions"></a><a class="link" href="conventions.html" title="Document Conventions">Document Conventions</a>
 </h3></div></div></div>
 <p>
- <a class="indexterm" name="id833488"></a>
+ <a class="indexterm" name="id828484"></a>
       </p>
 <p>
         This documentation aims to use of the following naming and formatting conventions.

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/history1.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/history1.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/history1.html 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -33,17 +33,20 @@
       </h5>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
- Fixed issue in <code class="computeroutput"><span class="identifier">bessel_jy</span></code>
- which causes Y<sub>8.5</sub>(4&#960;) to yield a NaN.
- </li>
-<li class="listitem">
             Promoted math constants to be 1st class citizens, including convenient
             access to the most widely used built-in float, double, long double via
             three namespaces.
           </li>
 <li class="listitem">
             Added the Owen's T function and Skew Normal distribution written by Benjamin
- Sobotta.
+ Sobotta: see <a class="link" href="../special/owens_t.html" title="Owen's T function">Owens T</a>
+ and skew_normal_distrib.
+ </li>
+<li class="listitem">
+ Added Hankel functions <a class="link" href="../special/hankel/cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_1</a>,
+ <a class="link" href="../special/hankel/cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_2</a>,
+ <a class="link" href="../special/hankel/sph_hankel.html" title="Spherical Hankel Functions">sph_hankel_1</a>
+ and <a class="link" href="../special/hankel/sph_hankel.html" title="Spherical Hankel Functions">sph_hankel_2</a>.
           </li>
 <li class="listitem">
             Corrected issue <a href="https://svn.boost.org/trac/boost/ticket/6627" target="_top">#6627
@@ -58,6 +61,10 @@
             128-bit rational approximations will work with UDT's and do the right
             thing, even though <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code> may be only 64 or 80 bits.
           </li>
+<li class="listitem">
+ Fixed issue in <code class="computeroutput"><span class="identifier">bessel_jy</span></code>
+ which causes Y<sub>8.5</sub>(4&#960;) to yield a NaN.
+ </li>
 </ul></div>
 <h5>
 <a name="math_toolkit.main_overview.history1.h1"></a>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/navigation.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/navigation.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/main_overview/navigation.html 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -27,7 +27,7 @@
 <a name="math_toolkit.main_overview.navigation"></a><a class="link" href="navigation.html" title="Navigation">Navigation</a>
 </h3></div></div></div>
 <p>
- <a class="indexterm" name="id833358"></a>
+ <a class="indexterm" name="id828354"></a>
       </p>
 <p>
         Boost.Math documentation is provided in both HTML and PDF formats.

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel/cyl_hankel.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel/cyl_hankel.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel/cyl_hankel.html 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -32,31 +32,32 @@
           <span><a name="math_toolkit.special.hankel.cyl_hankel.synopsis"></a></span><a class="link" href="cyl_hankel.html#math_toolkit.special.hankel.cyl_hankel.synopsis">Synopsis</a>
         </h5>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">cyl_hankel_h1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">cyl_hankel_1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
 
 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">cyl_hankel_h1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">cyl_hankel_1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
 
 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">cyl_hankel_h2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">cyl_hankel_2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
 
 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">cyl_hankel_h2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">cyl_hankel_2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
 </pre>
 <h5>
 <a name="math_toolkit.special.hankel.cyl_hankel.h1"></a>
           <span><a name="math_toolkit.special.hankel.cyl_hankel.description"></a></span><a class="link" href="cyl_hankel.html#math_toolkit.special.hankel.cyl_hankel.description">Description</a>
         </h5>
 <p>
- The functions <a class="link" href="cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_h1</a>
- and <a class="link" href="cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_h2</a>
- return the result of the Hankel H1 and H2 functions respectively:
+ The functions <a class="link" href="cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_1</a>
+ and <a class="link" href="cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_2</a>
+ return the result of the Hankel functions of the first and second kind
+ respectively:
         </p>
 <div class="blockquote"><blockquote class="blockquote"><p>
- <span class="emphasis"><em>cyl_hankel_h1(v, x) = H<sub>v</sub><sup>(1)</sup>(x) = J<sub>v</sub>(x) + i Y<sub>v</sub>(x)</em></span>
+ <span class="emphasis"><em>cyl_hankel_1(v, x) = H<sub>v</sub><sup>(1)</sup>(x) = J<sub>v</sub>(x) + i Y<sub>v</sub>(x)</em></span>
           </p></blockquote></div>
 <div class="blockquote"><blockquote class="blockquote"><p>
- <span class="emphasis"><em>cyl_hankel_h2(v, x) = H<sub>v</sub><sup>(2)</sup>(x) = J<sub>v</sub>(x) - i Y<sub>v</sub>(x)</em></span>
+ <span class="emphasis"><em>cyl_hankel_2(v, x) = H<sub>v</sub><sup>(2)</sup>(x) = J<sub>v</sub>(x) - i Y<sub>v</sub>(x)</em></span>
           </p></blockquote></div>
 <p>
           where:

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel/sph_hankel.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel/sph_hankel.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel/sph_hankel.html 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -32,25 +32,26 @@
           <span><a name="math_toolkit.special.hankel.sph_hankel.synopsis"></a></span><a class="link" href="sph_hankel.html#math_toolkit.special.hankel.sph_hankel.synopsis">Synopsis</a>
         </h5>
 <pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">sph_hankel_h1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">sph_hankel_1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
 
 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">sph_hankel_h1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">sph_hankel_1</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
 
 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">sph_hankel_h2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">sph_hankel_2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">);</span>
 
 <span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&gt;</span>
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">sph_hankel_h2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span><span class="special">&lt;</span><a class="link" href="../../main_overview/result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a><span class="special">&gt;</span> <span class="identifier">sph_hankel_2</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">v</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Policies">Policy</a><span class="special">&amp;);</span>
 </pre>
 <h5>
 <a name="math_toolkit.special.hankel.sph_hankel.h1"></a>
           <span><a name="math_toolkit.special.hankel.sph_hankel.description"></a></span><a class="link" href="sph_hankel.html#math_toolkit.special.hankel.sph_hankel.description">Description</a>
         </h5>
 <p>
- The functions <a class="link" href="sph_hankel.html" title="Spherical Hankel Functions">sph_hankel_h1</a>
- and <a class="link" href="sph_hankel.html" title="Spherical Hankel Functions">sph_hankel_h2</a>
- return the result of the spherical Hankel H1 and H2 functions respectively:
+ The functions <a class="link" href="sph_hankel.html" title="Spherical Hankel Functions">sph_hankel_1</a>
+ and <a class="link" href="sph_hankel.html" title="Spherical Hankel Functions">sph_hankel_2</a>
+ return the result of the spherical Hankel functions of the first and second
+ kind respectively:
         </p>
 <p>
           <span class="inlinemediaobject"><img src="../../../../equations/hankel4.png"></span>
@@ -109,8 +110,8 @@
           <span><a name="math_toolkit.special.hankel.sph_hankel.implementation"></a></span><a class="link" href="sph_hankel.html#math_toolkit.special.hankel.sph_hankel.implementation">Implementation</a>
         </h5>
 <p>
- These functions are trivially implemented in terms of <a class="link" href="cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_h1</a>
- and <a class="link" href="cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_h2</a>.
+ These functions are trivially implemented in terms of <a class="link" href="cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_1</a>
+ and <a class="link" href="cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_2</a>.
         </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/history1.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/history1.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/history1.html 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -32,17 +32,20 @@
       </h5>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
- Fixed issue in <code class="computeroutput"><span class="identifier">bessel_jy</span></code>
- which causes Y<sub>8.5</sub>(4&#960;) to yield a NaN.
- </li>
-<li class="listitem">
             Promoted math constants to be 1st class citizens, including convenient
             access to the most widely used built-in float, double, long double via
             three namespaces.
           </li>
 <li class="listitem">
             Added the Owen's T function and Skew Normal distribution written by Benjamin
- Sobotta.
+ Sobotta: see <a class="link" href="../special/owens_t.html" title="Owen's T function">Owens T</a>
+ and skew_normal_distrib.
+ </li>
+<li class="listitem">
+ Added Hankel functions <a class="link" href="../special/hankel/cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_1</a>,
+ <a class="link" href="../special/hankel/cyl_hankel.html" title="Cyclic Hankel Functions">cyl_hankel_2</a>,
+ <a class="link" href="../special/hankel/sph_hankel.html" title="Spherical Hankel Functions">sph_hankel_1</a>
+ and <a class="link" href="../special/hankel/sph_hankel.html" title="Spherical Hankel Functions">sph_hankel_2</a>.
           </li>
 <li class="listitem">
             Corrected issue <a href="https://svn.boost.org/trac/boost/ticket/6627" target="_top">#6627
@@ -57,6 +60,10 @@
             128-bit rational approximations will work with UDT's and do the right
             thing, even though <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code> may be only 64 or 80 bits.
           </li>
+<li class="listitem">
+ Fixed issue in <code class="computeroutput"><span class="identifier">bessel_jy</span></code>
+ which causes Y<sub>8.5</sub>(4&#960;) to yield a NaN.
+ </li>
 </ul></div>
 <h5>
 <a name="math_toolkit.status.history1.h1"></a>

Modified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/issues.html
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/issues.html (original)
+++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/issues.html 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -130,18 +130,6 @@
 </ul></div>
 <h5>
 <a name="math_toolkit.status.issues.h5"></a>
- <span><a name="math_toolkit.status.issues.bessel_functions"></a></span><a class="link" href="issues.html#math_toolkit.status.issues.bessel_functions">Bessel
- Functions</a>
- </h5>
-<p>
- We should implement the Hankel H1 and H2 functions as linear combinations
- of Bessel functions. Requires refactoring the internals so we can reliably
- calculate pairs of Bessel functions at the same time. We may also be able
- to improve performance of the Bessel series evaluation by accelerating the
- alternating series. This may also increase the scope of the series form.
- </p>
-<h5>
-<a name="math_toolkit.status.issues.h6"></a>
         <span><a name="math_toolkit.status.issues.owen_s_t_function"></a></span><a class="link" href="issues.html#math_toolkit.status.issues.owen_s_t_function">Owen's
         T Function</a>
       </h5>
@@ -157,7 +145,7 @@
         but it remains elusive at present.
       </p>
 <h5>
-<a name="math_toolkit.status.issues.h7"></a>
+<a name="math_toolkit.status.issues.h6"></a>
         <span><a name="math_toolkit.status.issues.jocobi_elliptic_functions"></a></span><a class="link" href="issues.html#math_toolkit.status.issues.jocobi_elliptic_functions">Jocobi elliptic
         functions</a>
       </h5>
@@ -166,7 +154,7 @@
         these.
       </p>
 <h5>
-<a name="math_toolkit.status.issues.h8"></a>
+<a name="math_toolkit.status.issues.h7"></a>
         <span><a name="math_toolkit.status.issues.statistical_distributions"></a></span><a class="link" href="issues.html#math_toolkit.status.issues.statistical_distributions">Statistical
         distributions</a>
       </h5>
@@ -175,7 +163,7 @@
             for very large degrees of freedom?
           </li></ul></div>
 <h5>
-<a name="math_toolkit.status.issues.h9"></a>
+<a name="math_toolkit.status.issues.h8"></a>
         <span><a name="math_toolkit.status.issues.feature_requests"></a></span><a class="link" href="issues.html#math_toolkit.status.issues.feature_requests">Feature
         Requests</a>
       </h5>

Modified: trunk/libs/math/doc/sf_and_dist/issues.qbk
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/issues.qbk (original)
+++ trunk/libs/math/doc/sf_and_dist/issues.qbk 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -67,13 +67,6 @@
 to be an real problem in practice - especially as most other implementations
 don't support this domain either (Medium Priority).
 
-[h4 Bessel Functions]
-
-We should implement the Hankel H1 and H2 functions as linear combinations of Bessel functions.
-Requires refactoring the internals so we can reliably calculate pairs of Bessel functions at the same time.
-We may also be able to improve performance of the Bessel series evaluation by accelerating the alternating
-series. This may also increase the scope of the series form.
-
 [h4 Owen's T Function]
 
 There is a problem area at arbitrary precision when ['a] is very close to 1. However, note that

Modified: trunk/libs/math/doc/sf_and_dist/math.qbk
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/math.qbk (original)
+++ trunk/libs/math/doc/sf_and_dist/math.qbk 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -150,11 +150,12 @@
 [def __cyl_bessel_k [link math_toolkit.special.bessel.mbessel cyl_bessel_k]]
 [def __sph_bessel [link math_toolkit.special.bessel.sph_bessel sph_bessel]]
 [def __sph_neumann [link math_toolkit.special.bessel.sph_bessel sph_neumann]]
+
 [/Hankel Functions]
-[def __cyl_hankel_h1 [link math_toolkit.special.hankel.cyl_hankel cyl_hankel_h1]]
-[def __cyl_hankel_h2 [link math_toolkit.special.hankel.cyl_hankel cyl_hankel_h2]]
-[def __sph_hankel_h1 [link math_toolkit.special.hankel.sph_hankel sph_hankel_h1]]
-[def __sph_hankel_h2 [link math_toolkit.special.hankel.sph_hankel sph_hankel_h2]]
+[def __cyl_hankel_1 [link math_toolkit.special.hankel.cyl_hankel cyl_hankel_1]]
+[def __cyl_hankel_2 [link math_toolkit.special.hankel.cyl_hankel cyl_hankel_2]]
+[def __sph_hankel_1 [link math_toolkit.special.hankel.sph_hankel sph_hankel_1]]
+[def __sph_hankel_2 [link math_toolkit.special.hankel.sph_hankel sph_hankel_2]]
 
 [/sinus cardinals]
 [def __sinc_pi [link math_toolkit.special.sinc.sinc_pi sinc_pi]]

Modified: trunk/libs/math/doc/sf_and_dist/roadmap.qbk
==============================================================================
--- trunk/libs/math/doc/sf_and_dist/roadmap.qbk (original)
+++ trunk/libs/math/doc/sf_and_dist/roadmap.qbk 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -2,17 +2,18 @@
 
 [h4 Boost-1.50]
 
-* Fixed issue in `bessel_jy` which causes Y[sub 8.5](4[pi]) to yield a NaN.
 * Promoted math constants to be 1st class citizens,
 including convenient access to the most widely used
 built-in float, double, long double via three namespaces.
-* Added the Owen's T function and Skew Normal distribution written by Benjamin Sobotta.
+* Added the Owen's T function and Skew Normal distribution written by Benjamin Sobotta: see __owens_t and skew_normal_distrib.
+* Added Hankel functions __cyl_hankel_1, __cyl_hankel_2, __sph_hankel_1 and __sph_hankel_2.
 * Corrected issue [@https://svn.boost.org/trac/boost/ticket/6627 #6627 nonfinite_num_put formatting of 0.0 is incorrect]
 based on a patch submitted by K R Walker.
 * Changed constant initialization mechanism so that it is thread safe even for user-defined types, also
 so that user defined types get the full precision of the constant, even when `long double` does not.
 So for example 128-bit rational approximations will work with UDT's and do the right thing, even though
 `long double` may be only 64 or 80 bits.
+* Fixed issue in `bessel_jy` which causes Y[sub 8.5](4[pi]) to yield a NaN.
 
 [h4 Boost-1.49]
 

Modified: trunk/libs/math/test/compile_test/instantiate.hpp
==============================================================================
--- trunk/libs/math/test/compile_test/instantiate.hpp (original)
+++ trunk/libs/math/test/compile_test/instantiate.hpp 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -232,6 +232,16 @@
    boost::math::sph_bessel(i, 1);
    boost::math::sph_neumann(i, v2);
    boost::math::sph_neumann(i, i);
+#ifdef TEST_COMPLEX
+ boost::math::cyl_hankel_1(v1, v2);
+ boost::math::cyl_hankel_1(i, v2);
+ boost::math::cyl_hankel_2(v1, v2);
+ boost::math::cyl_hankel_2(i, v2);
+ boost::math::sph_hankel_1(v1, v2);
+ boost::math::sph_hankel_1(i, v2);
+ boost::math::sph_hankel_2(v1, v2);
+ boost::math::sph_hankel_2(i, v2);
+#endif
    boost::math::expint(v1);
    boost::math::expint(i);
    boost::math::expint(i, v2);
@@ -351,6 +361,16 @@
    boost::math::sph_bessel(i, 1, pol);
    boost::math::sph_neumann(i, v2, pol);
    boost::math::sph_neumann(i, i, pol);
+#ifdef TEST_COMPLEX
+ boost::math::cyl_hankel_1(v1, v2, pol);
+ boost::math::cyl_hankel_1(i, v2, pol);
+ boost::math::cyl_hankel_2(v1, v2, pol);
+ boost::math::cyl_hankel_2(i, v2, pol);
+ boost::math::sph_hankel_1(v1, v2, pol);
+ boost::math::sph_hankel_1(i, v2, pol);
+ boost::math::sph_hankel_2(v1, v2, pol);
+ boost::math::sph_hankel_2(i, v2, pol);
+#endif
    boost::math::expint(v1, pol);
    boost::math::expint(i, pol);
    boost::math::expint(i, v2, pol);
@@ -481,6 +501,16 @@
    test::sph_bessel(i, 1);
    test::sph_neumann(i, v2);
    test::sph_neumann(i, i);
+#ifdef TEST_COMPLEX
+ test::cyl_hankel_1(v1, v2);
+ test::cyl_hankel_1(i, v2);
+ test::cyl_hankel_2(v1, v2);
+ test::cyl_hankel_2(i, v2);
+ test::sph_hankel_1(v1, v2);
+ test::sph_hankel_1(i, v2);
+ test::sph_hankel_2(v1, v2);
+ test::sph_hankel_2(i, v2);
+#endif
    test::expint(v1);
    test::expint(i);
    test::expint(i, v2);

Modified: trunk/libs/math/test/test_hankel.cpp
==============================================================================
--- trunk/libs/math/test/test_hankel.cpp (original)
+++ trunk/libs/math/test/test_hankel.cpp 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -58,15 +58,15 @@
    {
       if((i != 2) || (std::numeric_limits<T>::max_exponent10 > 80))
       {
- check_close(boost::math::cyl_hankel_h1(data[i][0].real(), data[i][1].real()), data[i][2] + im * data[i][3]);
- check_close(boost::math::cyl_hankel_h2(data[i][0].real(), data[i][1].real()), data[i][2] - im * data[i][3]);
+ check_close(boost::math::cyl_hankel_1(data[i][0].real(), data[i][1].real()), data[i][2] + im * data[i][3]);
+ check_close(boost::math::cyl_hankel_2(data[i][0].real(), data[i][1].real()), data[i][2] - im * data[i][3]);
 
          check_close(
- boost::math::cyl_hankel_h1(data[i][0].real() + 0.5f, data[i][1].real()) * boost::math::constants::root_half_pi<T>() / sqrt(data[i][1]),
- boost::math::sph_hankel_h1(data[i][0].real(), data[i][1].real()));
+ boost::math::cyl_hankel_1(data[i][0].real() + 0.5f, data[i][1].real()) * boost::math::constants::root_half_pi<T>() / sqrt(data[i][1]),
+ boost::math::sph_hankel_1(data[i][0].real(), data[i][1].real()));
          check_close(
- boost::math::cyl_hankel_h2(data[i][0].real() + 0.5f, data[i][1].real()) * boost::math::constants::root_half_pi<T>() / sqrt(data[i][1]),
- boost::math::sph_hankel_h2(data[i][0].real(), data[i][1].real()));
+ boost::math::cyl_hankel_2(data[i][0].real() + 0.5f, data[i][1].real()) * boost::math::constants::root_half_pi<T>() / sqrt(data[i][1]),
+ boost::math::sph_hankel_2(data[i][0].real(), data[i][1].real()));
       }
    }
 }
@@ -84,7 +84,7 @@
    boost::math::policies::evaluation_error<boost::math::policies::throw_on_error>,
    boost::math::policies::indeterminate_result_error<boost::math::policies::throw_on_error> > pol1;
 
-template std::complex<double> boost::math::cyl_hankel_h1<double, double, pol1>(double, double, const pol1&);
+template std::complex<double> boost::math::cyl_hankel_1<double, double, pol1>(double, double, const pol1&);
 
 typedef boost::math::policies::policy<
    boost::math::policies::overflow_error<boost::math::policies::errno_on_error>,
@@ -96,7 +96,7 @@
    boost::math::policies::evaluation_error<boost::math::policies::errno_on_error>,
    boost::math::policies::indeterminate_result_error<boost::math::policies::errno_on_error> > pol2;
 
-template std::complex<double> boost::math::cyl_hankel_h1<double, double, pol2>(double, double, const pol2&);
+template std::complex<double> boost::math::cyl_hankel_1<double, double, pol2>(double, double, const pol2&);
 
 typedef boost::math::policies::policy<
    boost::math::policies::overflow_error<boost::math::policies::ignore_error>,
@@ -108,7 +108,7 @@
    boost::math::policies::evaluation_error<boost::math::policies::ignore_error>,
    boost::math::policies::indeterminate_result_error<boost::math::policies::ignore_error> > pol3;
 
-template std::complex<double> boost::math::cyl_hankel_h1<double, double, pol3>(double, double, const pol3&);
+template std::complex<double> boost::math::cyl_hankel_1<double, double, pol3>(double, double, const pol3&);
 
 
 int test_main(int, char* [])

Modified: trunk/libs/math/test/test_instantiate1.cpp
==============================================================================
--- trunk/libs/math/test/test_instantiate1.cpp (original)
+++ trunk/libs/math/test/test_instantiate1.cpp 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -3,6 +3,8 @@
 // Boost Software License, Version 1.0. (See accompanying file
 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
+#define TEST_COMPLEX
+
 #include "compile_test/instantiate.hpp"
 
 extern void other_test();

Modified: trunk/libs/math/test/test_instantiate2.cpp
==============================================================================
--- trunk/libs/math/test/test_instantiate2.cpp (original)
+++ trunk/libs/math/test/test_instantiate2.cpp 2012-04-29 08:39:28 EDT (Sun, 29 Apr 2012)
@@ -3,6 +3,8 @@
 // Boost Software License, Version 1.0. (See accompanying file
 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 
+#define TEST_COMPLEX
+
 #include "compile_test/instantiate.hpp"
 
 void other_test()


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk