Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r78256 - 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
From: john_at_[hidden]
Date: 2012-04-29 12:54:12


Author: johnmaddock
Date: 2012-04-29 12:54:10 EDT (Sun, 29 Apr 2012)
New Revision: 78256
URL: http://svn.boost.org/trac/boost/changeset/78256

Log:
Add forwarding-policy to hankel functions.
Updated docs with links to more info.
Text files modified:
   trunk/boost/math/special_functions/hankel.hpp | 18 +++++++++++++-
   trunk/libs/math/doc/sf_and_dist/hankel.qbk | 33 ++++++++++++++-------------
   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/navigation.html | 2
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel/cyl_hankel.html | 48 ++++++++++++++++++++-------------------
   trunk/libs/math/doc/sf_and_dist/html/math_toolkit/special/hankel/sph_hankel.html | 29 ++++++++---------------
   12 files changed, 81 insertions(+), 73 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 12:54:10 EDT (Sun, 29 Apr 2012)
@@ -135,7 +135,14 @@
    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_1<%1%>(%1%,%1%)");
+ typedef typename policies::normalise<
+ Policy,
+ policies::promote_float<false>,
+ policies::promote_double<false>,
+ policies::discrete_quantile<>,
+ policies::assert_undefined<> >::type forwarding_policy;
+
+ 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), forwarding_policy(), 1), "boost::math::sph_hankel_1<%1%>(%1%,%1%)");
 }
 
 template <class T1, class T2>
@@ -150,7 +157,14 @@
    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_1<%1%>(%1%,%1%)");
+ typedef typename policies::normalise<
+ Policy,
+ policies::promote_float<false>,
+ policies::promote_double<false>,
+ policies::discrete_quantile<>,
+ policies::assert_undefined<> >::type forwarding_policy;
+
+ 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), forwarding_policy(), -1), "boost::math::sph_hankel_1<%1%>(%1%,%1%)");
 }
 
 template <class T1, class T2>

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 12:54:10 EDT (Sun, 29 Apr 2012)
@@ -20,7 +20,7 @@
 [h4 Description]
 
 The functions __cyl_hankel_1 and __cyl_hankel_2 return the result of the
-Hankel functions of the first and second kind respectively:
+[@http://dlmf.nist.gov/10.2#P3 Hankel functions] of the first and second kind respectively:
 
 [:['cyl_hankel_1(v, x) = H[sub v][super (1)](x) = J[sub v](x) + i Y[sub v](x)]]
 
@@ -36,12 +36,15 @@
 
 [optional_policy]
 
-Note that since the result type is complex, these functions are extended to operate over the whole
-range of ['v] and ['x] (unlike __cyl_bessel_j and __cyl_neumann).
+Note that while the arguments to these functions are real values, the results are complex.
+That means that the functions can only be instantiated on types `float`, `double` and `long double`.
+The functions have also been extended to operate over the whole range of ['v] and ['x]
+(unlike __cyl_bessel_j and __cyl_neumann).
 
-[note Since the result type is complex, the functions can only be instantiated on types
-`float`, `double` and `long double`: this is a limitation of `std::complex`. The arguments
-to these functions must be real-valued, rather than complex though.]
+[h4 Performance]
+
+These functions are generally more efficient than two separate calls to the underlying Bessel
+functions as internally Bessel J and Y can be computed simultaneously.
 
 [h4 Testing]
 
@@ -56,11 +59,11 @@
 
 For ['x < 0] the following reflection formulae are used:
 
-[equation hankel1]
+[@http://functions.wolfram.com/Bessel-TypeFunctions/BesselJ/16/01/01/ [equation hankel1]]
 
-[equation hankel2]
+[@http://functions.wolfram.com/Bessel-TypeFunctions/BesselY/16/01/01/ [equation hankel2]]
 
-[equation hankel3]
+[@http://functions.wolfram.com/Bessel-TypeFunctions/BesselY/16/01/01/ [equation hankel3]]
 
 Otherwise the implementation is trivially in terms of the Bessel J and Y functions.
 
@@ -92,7 +95,7 @@
 [h4 Description]
 
 The functions __sph_hankel_1 and __sph_hankel_2 return the result of the
-spherical Hankel functions of the first and second kind respectively:
+[@http://dlmf.nist.gov/10.47#P1 spherical Hankel functions] of the first and second kind respectively:
 
 [equation hankel4]
 
@@ -104,12 +107,10 @@
 
 [optional_policy]
 
-Note that since the result type is complex, these functions are extended to operate over the whole
-range of ['v] and ['x] (unlike the Bessel functions upon which they're based).
-
-[note Since the result type is complex, the functions can only be instantiated on types
-`float`, `double` and `long double`: this is a limitation of `std::complex`. The arguments
-to these functions must be real-valued, rather than complex though.]
+Note that while the arguments to these functions are real values, the results are complex.
+That means that the functions can only be instantiated on types `float`, `double` and `long double`.
+The functions have also been extended to operate over the whole range of ['v] and ['x]
+(unlike __cyl_bessel_j and __cyl_neumann).
 
 [h4 Testing]
 

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 12:54:10 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 29, 2012 at 12:25:56 GMT</small></p></td>
+<td align="left"><p><small>Last revised: April 29, 2012 at 16:45:52 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 12:54:10 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 id1287106">
+<div class="section id1309488">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id1287106"></a>Function Index</h2></div></div></div>
+<a name="id1309488"></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 12:54:10 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 id1303632">
+<div class="section id1324922">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id1303632"></a>Class Index</h2></div></div></div>
+<a name="id1324922"></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 12:54:10 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 id1304573">
+<div class="section id1325863">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id1304573"></a>Typedef Index</h2></div></div></div>
+<a name="id1325863"></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 12:54:10 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 id1308575">
+<div class="section id1330957">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id1308575"></a>Macro Index</h2></div></div></div>
+<a name="id1330957"></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 12:54:10 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 id1311440">
+<div class="section id1332730">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="id1311440"></a>Index</h2></div></div></div>
+<a name="id1332730"></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 12:54:10 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="id828484"></a>
+ <a class="indexterm" name="id850329"></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/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 12:54:10 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="id828354"></a>
+ <a class="indexterm" name="id850200"></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 12:54:10 EDT (Sun, 29 Apr 2012)
@@ -50,8 +50,8 @@
 <p>
           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:
+ return the result of the <a href="http://dlmf.nist.gov/10.2#P3" target="_top">Hankel
+ functions</a> of the first and second kind respectively:
         </p>
 <div class="blockquote"><blockquote class="blockquote"><p>
             <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>
@@ -78,26 +78,25 @@
           it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
         </p>
 <p>
- Note that since the result type is complex, these functions are extended
- to operate over the whole range of <span class="emphasis"><em>v</em></span> and <span class="emphasis"><em>x</em></span>
- (unlike <a class="link" href="../bessel/bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
+ Note that while the arguments to these functions are real values, the results
+ are complex. That means that the functions can only be instantiated on
+ types <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>. The functions have also
+ been extended to operate over the whole range of <span class="emphasis"><em>v</em></span>
+ and <span class="emphasis"><em>x</em></span> (unlike <a class="link" href="../bessel/bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
           and <a class="link" href="../bessel/bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>).
         </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Since the result type is complex, the functions can only be instantiated
- on types <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code>: this is a limitation of
- <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span></code>. The arguments to these functions
- must be real-valued, rather than complex though.
- </p></td></tr>
-</table></div>
 <h5>
 <a name="math_toolkit.special.hankel.cyl_hankel.h2"></a>
+ <span><a name="math_toolkit.special.hankel.cyl_hankel.performance"></a></span><a class="link" href="cyl_hankel.html#math_toolkit.special.hankel.cyl_hankel.performance">Performance</a>
+ </h5>
+<p>
+ These functions are generally more efficient than two separate calls to
+ the underlying Bessel functions as internally Bessel J and Y can be computed
+ simultaneously.
+ </p>
+<h5>
+<a name="math_toolkit.special.hankel.cyl_hankel.h3"></a>
           <span><a name="math_toolkit.special.hankel.cyl_hankel.testing"></a></span><a class="link" href="cyl_hankel.html#math_toolkit.special.hankel.cyl_hankel.testing">Testing</a>
         </h5>
 <p>
@@ -106,7 +105,7 @@
           are based.
         </p>
 <h5>
-<a name="math_toolkit.special.hankel.cyl_hankel.h3"></a>
+<a name="math_toolkit.special.hankel.cyl_hankel.h4"></a>
           <span><a name="math_toolkit.special.hankel.cyl_hankel.accuracy"></a></span><a class="link" href="cyl_hankel.html#math_toolkit.special.hankel.cyl_hankel.accuracy">Accuracy</a>
         </h5>
 <p>
@@ -114,7 +113,7 @@
           and <a class="link" href="../bessel/bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>.
         </p>
 <h5>
-<a name="math_toolkit.special.hankel.cyl_hankel.h4"></a>
+<a name="math_toolkit.special.hankel.cyl_hankel.h5"></a>
           <span><a name="math_toolkit.special.hankel.cyl_hankel.implementation"></a></span><a class="link" href="cyl_hankel.html#math_toolkit.special.hankel.cyl_hankel.implementation">Implementation</a>
         </h5>
 <p>
@@ -122,13 +121,16 @@
           used:
         </p>
 <p>
- <span class="inlinemediaobject"><img src="../../../../equations/hankel1.png"></span>
+ <a href="http://functions.wolfram.com/Bessel-TypeFunctions/BesselJ/16/01/01/" target="_top">
+ <span class="inlinemediaobject"><img src="../../../../equations/hankel1.png"></span></a>
         </p>
 <p>
- <span class="inlinemediaobject"><img src="../../../../equations/hankel2.png"></span>
+ <a href="http://functions.wolfram.com/Bessel-TypeFunctions/BesselY/16/01/01/" target="_top">
+ <span class="inlinemediaobject"><img src="../../../../equations/hankel2.png"></span></a>
         </p>
 <p>
- <span class="inlinemediaobject"><img src="../../../../equations/hankel3.png"></span>
+ <a href="http://functions.wolfram.com/Bessel-TypeFunctions/BesselY/16/01/01/" target="_top">
+ <span class="inlinemediaobject"><img src="../../../../equations/hankel3.png"></span></a>
         </p>
 <p>
           Otherwise the implementation is trivially in terms of the Bessel J and

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 12:54:10 EDT (Sun, 29 Apr 2012)
@@ -50,8 +50,8 @@
 <p>
           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:
+ return the result of the <a href="http://dlmf.nist.gov/10.47#P1" target="_top">spherical
+ Hankel functions</a> of the first and second kind respectively:
         </p>
 <p>
           <span class="inlinemediaobject"><img src="../../../../equations/hankel4.png"></span>
@@ -71,23 +71,14 @@
           it handles errors, what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Policies">policy documentation for more details</a>.
         </p>
 <p>
- Note that since the result type is complex, these functions are extended
- to operate over the whole range of <span class="emphasis"><em>v</em></span> and <span class="emphasis"><em>x</em></span>
- (unlike the Bessel functions upon which they're based).
- </p>
-<div class="note"><table border="0" summary="Note">
-<tr>
-<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../../../../doc/src/images/note.png"></td>
-<th align="left">Note</th>
-</tr>
-<tr><td align="left" valign="top"><p>
- Since the result type is complex, the functions can only be instantiated
- on types <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code>: this is a limitation of
- <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">complex</span></code>. The arguments to these functions
- must be real-valued, rather than complex though.
- </p></td></tr>
-</table></div>
+ Note that while the arguments to these functions are real values, the results
+ are complex. That means that the functions can only be instantiated on
+ types <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code> and <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>. The functions have also
+ been extended to operate over the whole range of <span class="emphasis"><em>v</em></span>
+ and <span class="emphasis"><em>x</em></span> (unlike <a class="link" href="../bessel/bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a>
+ and <a class="link" href="../bessel/bessel.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a>).
+ </p>
 <h5>
 <a name="math_toolkit.special.hankel.sph_hankel.h2"></a>
           <span><a name="math_toolkit.special.hankel.sph_hankel.testing"></a></span><a class="link" href="sph_hankel.html#math_toolkit.special.hankel.sph_hankel.testing">Testing</a>


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