1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>TR1 C Functions Quick Reference</title> 5<link rel="stylesheet" href="../math.css" type="text/css"> 6<meta name="generator" content="DocBook XSL Stylesheets V1.79.1"> 7<link rel="home" href="../index.html" title="Math Toolkit 2.12.0"> 8<link rel="up" href="../extern_c.html" title='Chapter 9. TR1 and C99 external "C" Functions'> 9<link rel="prev" href="c99.html" title="C99 C Functions"> 10<link rel="next" href="../root_finding.html" title="Chapter 10. Root Finding & Minimization Algorithms"> 11</head> 12<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"> 13<table cellpadding="2" width="100%"><tr> 14<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> 15<td align="center"><a href="../../../../../index.html">Home</a></td> 16<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> 17<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td> 18<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td> 19<td align="center"><a href="../../../../../more/index.htm">More</a></td> 20</tr></table> 21<hr> 22<div class="spirit-nav"> 23<a accesskey="p" href="c99.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extern_c.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="../root_finding.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> 24</div> 25<div class="section"> 26<div class="titlepage"><div><div><h2 class="title" style="clear: both"> 27<a name="math_toolkit.tr1_ref"></a><a class="link" href="tr1_ref.html" title="TR1 C Functions Quick Reference">TR1 C Functions Quick Reference</a> 28</h2></div></div></div> 29<h5> 30<a name="math_toolkit.tr1_ref.h0"></a> 31 <span class="phrase"><a name="math_toolkit.tr1_ref.supported_tr1_functions"></a></span><a class="link" href="tr1_ref.html#math_toolkit.tr1_ref.supported_tr1_functions">Supported 32 TR1 Functions</a> 33 </h5> 34<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">math</span><span class="special">{</span> <span class="keyword">namespace</span> <span class="identifier">tr1</span><span class="special">{</span> <span class="keyword">extern</span> <span class="string">"C"</span><span class="special">{</span> 35 36<span class="comment">// [5.2.1.1] associated Laguerre polynomials:</span> 37<span class="keyword">double</span> <span class="identifier">assoc_laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 38<span class="keyword">float</span> <span class="identifier">assoc_laguerref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 39<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">assoc_laguerrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 40 41<span class="comment">// [5.2.1.2] associated Legendre functions:</span> 42<span class="keyword">double</span> <span class="identifier">assoc_legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 43<span class="keyword">float</span> <span class="identifier">assoc_legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 44<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">assoc_legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 45 46<span class="comment">// [5.2.1.3] beta function:</span> 47<span class="keyword">double</span> <span class="identifier">beta</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> 48<span class="keyword">float</span> <span class="identifier">betaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span> 49<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">betal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> 50 51<span class="comment">// [5.2.1.4] (complete) elliptic integral of the first kind:</span> 52<span class="keyword">double</span> <span class="identifier">comp_ellint_1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span> 53<span class="keyword">float</span> <span class="identifier">comp_ellint_1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">);</span> 54<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span> 55 56<span class="comment">// [5.2.1.5] (complete) elliptic integral of the second kind:</span> 57<span class="keyword">double</span> <span class="identifier">comp_ellint_2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span> 58<span class="keyword">float</span> <span class="identifier">comp_ellint_2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">);</span> 59<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span> 60 61<span class="comment">// [5.2.1.6] (complete) elliptic integral of the third kind:</span> 62<span class="keyword">double</span> <span class="identifier">comp_ellint_3</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">);</span> 63<span class="keyword">float</span> <span class="identifier">comp_ellint_3f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">nu</span><span class="special">);</span> 64<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_3l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">);</span> 65 66<span class="comment">// [5.2.1.8] regular modified cylindrical Bessel functions:</span> 67<span class="keyword">double</span> <span class="identifier">cyl_bessel_i</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 68<span class="keyword">float</span> <span class="identifier">cyl_bessel_if</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 69<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_il</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 70 71<span class="comment">// [5.2.1.9] cylindrical Bessel functions (of the first kind):</span> 72<span class="keyword">double</span> <span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 73<span class="keyword">float</span> <span class="identifier">cyl_bessel_jf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 74<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_jl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 75 76<span class="comment">// [5.2.1.10] irregular modified cylindrical Bessel functions:</span> 77<span class="keyword">double</span> <span class="identifier">cyl_bessel_k</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 78<span class="keyword">float</span> <span class="identifier">cyl_bessel_kf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 79<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_kl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 80 81<span class="comment">// [5.2.1.11] cylindrical Neumann functions;</span> 82<span class="comment">// cylindrical Bessel functions (of the second kind):</span> 83<span class="keyword">double</span> <span class="identifier">cyl_neumann</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 84<span class="keyword">float</span> <span class="identifier">cyl_neumannf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 85<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_neumannl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 86 87<span class="comment">// [5.2.1.12] (incomplete) elliptic integral of the first kind:</span> 88<span class="keyword">double</span> <span class="identifier">ellint_1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span> 89<span class="keyword">float</span> <span class="identifier">ellint_1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span> 90<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span> 91 92<span class="comment">// [5.2.1.13] (incomplete) elliptic integral of the second kind:</span> 93<span class="keyword">double</span> <span class="identifier">ellint_2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span> 94<span class="keyword">float</span> <span class="identifier">ellint_2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span> 95<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span> 96 97<span class="comment">// [5.2.1.14] (incomplete) elliptic integral of the third kind:</span> 98<span class="keyword">double</span> <span class="identifier">ellint_3</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span> 99<span class="keyword">float</span> <span class="identifier">ellint_3f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span> 100<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_3l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span> 101 102<span class="comment">// [5.2.1.15] exponential integral:</span> 103<span class="keyword">double</span> <span class="identifier">expint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 104<span class="keyword">float</span> <span class="identifier">expintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 105<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">expintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 106 107<span class="comment">// [5.2.1.16] Hermite polynomials:</span> 108<span class="keyword">double</span> <span class="identifier">hermite</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 109<span class="keyword">float</span> <span class="identifier">hermitef</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 110<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hermitel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 111 112<span class="comment">// [5.2.1.18] Laguerre polynomials:</span> 113<span class="keyword">double</span> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 114<span class="keyword">float</span> <span class="identifier">laguerref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 115<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">laguerrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 116 117<span class="comment">// [5.2.1.19] Legendre polynomials:</span> 118<span class="keyword">double</span> <span class="identifier">legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 119<span class="keyword">float</span> <span class="identifier">legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 120<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 121 122<span class="comment">// [5.2.1.20] Riemann zeta function:</span> 123<span class="keyword">double</span> <span class="identifier">riemann_zeta</span><span class="special">(</span><span class="keyword">double</span><span class="special">);</span> 124<span class="keyword">float</span> <span class="identifier">riemann_zetaf</span><span class="special">(</span><span class="keyword">float</span><span class="special">);</span> 125<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">riemann_zetal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">);</span> 126 127<span class="comment">// [5.2.1.21] spherical Bessel functions (of the first kind):</span> 128<span class="keyword">double</span> <span class="identifier">sph_bessel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 129<span class="keyword">float</span> <span class="identifier">sph_besself</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 130<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_bessell</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 131 132<span class="comment">// [5.2.1.22] spherical associated Legendre functions:</span> 133<span class="keyword">double</span> <span class="identifier">sph_legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">theta</span><span class="special">);</span> 134<span class="keyword">float</span> <span class="identifier">sph_legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">theta</span><span class="special">);</span> 135<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">theta</span><span class="special">);</span> 136 137<span class="comment">// [5.2.1.23] spherical Neumann functions;</span> 138<span class="comment">// spherical Bessel functions (of the second kind):</span> 139<span class="keyword">double</span> <span class="identifier">sph_neumann</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 140<span class="keyword">float</span> <span class="identifier">sph_neumannf</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 141<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_neumannl</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 142 143<span class="special">}}}}</span> <span class="comment">// namespaces</span> 144</pre> 145<p> 146 In addition sufficient additional overloads of the <code class="computeroutput"><span class="keyword">double</span></code> 147 versions of the above functions are provided, so that calling the function 148 with any mixture of <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code>, <code class="computeroutput"><span class="keyword">long</span> 149 <span class="keyword">double</span></code>, or <span class="emphasis"><em>integer</em></span> 150 arguments is supported, with the return type determined by the <a class="link" href="result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result 151 type calculation rules</em></span></a>. 152 </p> 153<p> 154 For example: 155 </p> 156<pre class="programlisting"><span class="identifier">expintf</span><span class="special">(</span><span class="number">2.0f</span><span class="special">);</span> <span class="comment">// float version, returns float.</span> 157<span class="identifier">expint</span><span class="special">(</span><span class="number">2.0f</span><span class="special">);</span> <span class="comment">// also calls the float version and returns float.</span> 158<span class="identifier">expint</span><span class="special">(</span><span class="number">2.0</span><span class="special">);</span> <span class="comment">// double version, returns double.</span> 159<span class="identifier">expintl</span><span class="special">(</span><span class="number">2.0L</span><span class="special">);</span> <span class="comment">// long double version, returns a long double.</span> 160<span class="identifier">expint</span><span class="special">(</span><span class="number">2.0L</span><span class="special">);</span> <span class="comment">// also calls the long double version.</span> 161<span class="identifier">expint</span><span class="special">(</span><span class="number">2</span><span class="special">);</span> <span class="comment">// integer argument is treated as a double, returns double.</span> 162</pre> 163<h5> 164<a name="math_toolkit.tr1_ref.h1"></a> 165 <span class="phrase"><a name="math_toolkit.tr1_ref.quick_reference"></a></span><a class="link" href="tr1_ref.html#math_toolkit.tr1_ref.quick_reference">Quick 166 Reference</a> 167 </h5> 168<pre class="programlisting"><span class="comment">// [5.2.1.1] associated Laguerre polynomials:</span> 169<span class="keyword">double</span> <span class="identifier">assoc_laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 170<span class="keyword">float</span> <span class="identifier">assoc_laguerref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 171<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">assoc_laguerrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 172</pre> 173<p> 174 The assoc_laguerre functions return: 175 </p> 176<div class="blockquote"><blockquote class="blockquote"><p> 177 <span class="inlinemediaobject"><img src="../../equations/laguerre_1.svg"></span> 178 179 </p></blockquote></div> 180<p> 181 See also <a class="link" href="sf_poly/laguerre.html" title="Laguerre (and Associated) Polynomials">laguerre</a> for 182 the full template (header only) version of this function. 183 </p> 184<pre class="programlisting"><span class="comment">// [5.2.1.2] associated Legendre functions:</span> 185<span class="keyword">double</span> <span class="identifier">assoc_legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 186<span class="keyword">float</span> <span class="identifier">assoc_legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 187<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">assoc_legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 188</pre> 189<p> 190 The assoc_legendre functions return: 191 </p> 192<div class="blockquote"><blockquote class="blockquote"><p> 193 <span class="inlinemediaobject"><img src="../../equations/legendre_1b.svg"></span> 194 195 </p></blockquote></div> 196<p> 197 See also <a class="link" href="sf_poly/legendre.html" title="Legendre (and Associated) Polynomials">legendre_p</a> for 198 the full template (header only) version of this function. 199 </p> 200<pre class="programlisting"><span class="comment">// [5.2.1.3] beta function:</span> 201<span class="keyword">double</span> <span class="identifier">beta</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> 202<span class="keyword">float</span> <span class="identifier">betaf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">y</span><span class="special">);</span> 203<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">betal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">y</span><span class="special">);</span> 204</pre> 205<p> 206 Returns the beta function of <span class="emphasis"><em>x</em></span> and <span class="emphasis"><em>y</em></span>: 207 </p> 208<div class="blockquote"><blockquote class="blockquote"><p> 209 <span class="inlinemediaobject"><img src="../../equations/beta1.svg"></span> 210 211 </p></blockquote></div> 212<p> 213 See also <a class="link" href="sf_beta/beta_function.html" title="Beta">beta</a> for 214 the full template (header only) version of this function. 215 </p> 216<pre class="programlisting"><span class="comment">// [5.2.1.4] (complete) elliptic integral of the first kind:</span> 217<span class="keyword">double</span> <span class="identifier">comp_ellint_1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span> 218<span class="keyword">float</span> <span class="identifier">comp_ellint_1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">);</span> 219<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span> 220</pre> 221<p> 222 Returns the complete elliptic integral of the first kind of <span class="emphasis"><em>k</em></span>: 223 </p> 224<div class="blockquote"><blockquote class="blockquote"><p> 225 <span class="inlinemediaobject"><img src="../../equations/ellint6.svg"></span> 226 227 </p></blockquote></div> 228<p> 229 See also <a class="link" href="ellint/ellint_1.html" title="Elliptic Integrals of the First Kind - Legendre Form">ellint_1</a> for the 230 full template (header only) version of this function. 231 </p> 232<pre class="programlisting"><span class="comment">// [5.2.1.5] (complete) elliptic integral of the second kind:</span> 233<span class="keyword">double</span> <span class="identifier">comp_ellint_2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span> 234<span class="keyword">float</span> <span class="identifier">comp_ellint_2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">);</span> 235<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">);</span> 236</pre> 237<p> 238 Returns the complete elliptic integral of the second kind of <span class="emphasis"><em>k</em></span>: 239 </p> 240<div class="blockquote"><blockquote class="blockquote"><p> 241 <span class="inlinemediaobject"><img src="../../equations/ellint7.svg"></span> 242 243 </p></blockquote></div> 244<p> 245 See also <a class="link" href="ellint/ellint_2.html" title="Elliptic Integrals of the Second Kind - Legendre Form">ellint_2</a> for the 246 full template (header only) version of this function. 247 </p> 248<pre class="programlisting"><span class="comment">// [5.2.1.6] (complete) elliptic integral of the third kind:</span> 249<span class="keyword">double</span> <span class="identifier">comp_ellint_3</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">);</span> 250<span class="keyword">float</span> <span class="identifier">comp_ellint_3f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">nu</span><span class="special">);</span> 251<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">comp_ellint_3l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">);</span> 252</pre> 253<p> 254 Returns the complete elliptic integral of the third kind of <span class="emphasis"><em>k</em></span> 255 and <span class="emphasis"><em>nu</em></span>: 256 </p> 257<div class="blockquote"><blockquote class="blockquote"><p> 258 <span class="inlinemediaobject"><img src="../../equations/ellint8.svg"></span> 259 260 </p></blockquote></div> 261<p> 262 See also <a class="link" href="ellint/ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form">ellint_3</a> for the 263 full template (header only) version of this function. 264 </p> 265<pre class="programlisting"><span class="comment">// [5.2.1.8] regular modified cylindrical Bessel functions:</span> 266<span class="keyword">double</span> <span class="identifier">cyl_bessel_i</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 267<span class="keyword">float</span> <span class="identifier">cyl_bessel_if</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 268<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_il</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 269</pre> 270<p> 271 Returns the modified bessel function of the first kind of <span class="emphasis"><em>nu</em></span> 272 and <span class="emphasis"><em>x</em></span>: 273 </p> 274<div class="blockquote"><blockquote class="blockquote"><p> 275 <span class="inlinemediaobject"><img src="../../equations/mbessel2.svg"></span> 276 277 </p></blockquote></div> 278<p> 279 See also <a class="link" href="bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_i</a> for 280 the full template (header only) version of this function. 281 </p> 282<pre class="programlisting"><span class="comment">// [5.2.1.9] cylindrical Bessel functions (of the first kind):</span> 283<span class="keyword">double</span> <span class="identifier">cyl_bessel_j</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 284<span class="keyword">float</span> <span class="identifier">cyl_bessel_jf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 285<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_jl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 286</pre> 287<p> 288 Returns the bessel function of the first kind of <span class="emphasis"><em>nu</em></span> and 289 <span class="emphasis"><em>x</em></span>: 290 </p> 291<div class="blockquote"><blockquote class="blockquote"><p> 292 <span class="inlinemediaobject"><img src="../../equations/bessel2.svg"></span> 293 294 </p></blockquote></div> 295<p> 296 See also <a class="link" href="bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_bessel_j</a> 297 for the full template (header only) version of this function. 298 </p> 299<pre class="programlisting"><span class="comment">// [5.2.1.10] irregular modified cylindrical Bessel functions:</span> 300<span class="keyword">double</span> <span class="identifier">cyl_bessel_k</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 301<span class="keyword">float</span> <span class="identifier">cyl_bessel_kf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 302<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_bessel_kl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 303</pre> 304<p> 305 Returns the modified bessel function of the second kind of <span class="emphasis"><em>nu</em></span> 306 and <span class="emphasis"><em>x</em></span>: 307 </p> 308<div class="blockquote"><blockquote class="blockquote"><p> 309 <span class="inlinemediaobject"><img src="../../equations/mbessel3.svg"></span> 310 311 </p></blockquote></div> 312<p> 313 See also <a class="link" href="bessel/mbessel.html" title="Modified Bessel Functions of the First and Second Kinds">cyl_bessel_k</a> for 314 the full template (header only) version of this function. 315 </p> 316<pre class="programlisting"><span class="comment">// [5.2.1.11] cylindrical Neumann functions;</span> 317<span class="comment">// cylindrical Bessel functions (of the second kind):</span> 318<span class="keyword">double</span> <span class="identifier">cyl_neumann</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 319<span class="keyword">float</span> <span class="identifier">cyl_neumannf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 320<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">cyl_neumannl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 321</pre> 322<p> 323 Returns the bessel function of the second kind (Neumann function) of <span class="emphasis"><em>nu</em></span> 324 and <span class="emphasis"><em>x</em></span>: 325 </p> 326<div class="blockquote"><blockquote class="blockquote"><p> 327 <span class="inlinemediaobject"><img src="../../equations/bessel3.svg"></span> 328 329 </p></blockquote></div> 330<p> 331 See also <a class="link" href="bessel/bessel_first.html" title="Bessel Functions of the First and Second Kinds">cyl_neumann</a> 332 for the full template (header only) version of this function. 333 </p> 334<pre class="programlisting"><span class="comment">// [5.2.1.12] (incomplete) elliptic integral of the first kind:</span> 335<span class="keyword">double</span> <span class="identifier">ellint_1</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span> 336<span class="keyword">float</span> <span class="identifier">ellint_1f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span> 337<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_1l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span> 338</pre> 339<p> 340 Returns the incomplete elliptic integral of the first kind of <span class="emphasis"><em>k</em></span> 341 and <span class="emphasis"><em>phi</em></span>: 342 </p> 343<div class="blockquote"><blockquote class="blockquote"><p> 344 <span class="inlinemediaobject"><img src="../../equations/ellint2.svg"></span> 345 346 </p></blockquote></div> 347<p> 348 See also <a class="link" href="ellint/ellint_1.html" title="Elliptic Integrals of the First Kind - Legendre Form">ellint_1</a> for the 349 full template (header only) version of this function. 350 </p> 351<pre class="programlisting"><span class="comment">// [5.2.1.13] (incomplete) elliptic integral of the second kind:</span> 352<span class="keyword">double</span> <span class="identifier">ellint_2</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span> 353<span class="keyword">float</span> <span class="identifier">ellint_2f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span> 354<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_2l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span> 355</pre> 356<p> 357 Returns the incomplete elliptic integral of the second kind of <span class="emphasis"><em>k</em></span> 358 and <span class="emphasis"><em>phi</em></span>: 359 </p> 360<div class="blockquote"><blockquote class="blockquote"><p> 361 <span class="inlinemediaobject"><img src="../../equations/ellint3.svg"></span> 362 363 </p></blockquote></div> 364<p> 365 See also <a class="link" href="ellint/ellint_2.html" title="Elliptic Integrals of the Second Kind - Legendre Form">ellint_2</a> for the 366 full template (header only) version of this function. 367 </p> 368<pre class="programlisting"><span class="comment">// [5.2.1.14] (incomplete) elliptic integral of the third kind:</span> 369<span class="keyword">double</span> <span class="identifier">ellint_3</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span> 370<span class="keyword">float</span> <span class="identifier">ellint_3f</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">phi</span><span class="special">);</span> 371<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">ellint_3l</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">k</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">nu</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">phi</span><span class="special">);</span> 372</pre> 373<p> 374 Returns the incomplete elliptic integral of the third kind of <span class="emphasis"><em>k</em></span>, 375 <span class="emphasis"><em>nu</em></span> and <span class="emphasis"><em>phi</em></span>: 376 </p> 377<div class="blockquote"><blockquote class="blockquote"><p> 378 <span class="inlinemediaobject"><img src="../../equations/ellint4.svg"></span> 379 380 </p></blockquote></div> 381<p> 382 See also <a class="link" href="ellint/ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form">ellint_3</a> for the 383 full template (header only) version of this function. 384 </p> 385<pre class="programlisting"><span class="comment">// [5.2.1.15] exponential integral:</span> 386<span class="keyword">double</span> <span class="identifier">expint</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 387<span class="keyword">float</span> <span class="identifier">expintf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 388<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">expintl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 389</pre> 390<p> 391 Returns the exponential integral Ei of <span class="emphasis"><em>x</em></span>: 392 </p> 393<div class="blockquote"><blockquote class="blockquote"><p> 394 <span class="inlinemediaobject"><img src="../../equations/expint_i_1.svg"></span> 395 396 </p></blockquote></div> 397<p> 398 See also <a class="link" href="expint/expint_i.html" title="Exponential Integral Ei">expint</a> for the 399 full template (header only) version of this function. 400 </p> 401<pre class="programlisting"><span class="comment">// [5.2.1.16] Hermite polynomials:</span> 402<span class="keyword">double</span> <span class="identifier">hermite</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 403<span class="keyword">float</span> <span class="identifier">hermitef</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 404<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hermitel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 405</pre> 406<p> 407 Returns the n'th Hermite polynomial of <span class="emphasis"><em>x</em></span>: 408 </p> 409<div class="blockquote"><blockquote class="blockquote"><p> 410 <span class="inlinemediaobject"><img src="../../equations/hermite_0.svg"></span> 411 412 </p></blockquote></div> 413<p> 414 See also <a class="link" href="sf_poly/hermite.html" title="Hermite Polynomials">hermite</a> for the 415 full template (header only) version of this function. 416 </p> 417<pre class="programlisting"><span class="comment">// [5.2.1.18] Laguerre polynomials:</span> 418<span class="keyword">double</span> <span class="identifier">laguerre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 419<span class="keyword">float</span> <span class="identifier">laguerref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 420<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">laguerrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 421</pre> 422<p> 423 Returns the n'th Laguerre polynomial of <span class="emphasis"><em>x</em></span>: 424 </p> 425<div class="blockquote"><blockquote class="blockquote"><p> 426 <span class="inlinemediaobject"><img src="../../equations/laguerre_0.svg"></span> 427 428 </p></blockquote></div> 429<p> 430 See also <a class="link" href="sf_poly/laguerre.html" title="Laguerre (and Associated) Polynomials">laguerre</a> for 431 the full template (header only) version of this function. 432 </p> 433<pre class="programlisting"><span class="comment">// [5.2.1.19] Legendre polynomials:</span> 434<span class="keyword">double</span> <span class="identifier">legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 435<span class="keyword">float</span> <span class="identifier">legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 436<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 437</pre> 438<p> 439 Returns the l'th Legendre polynomial of <span class="emphasis"><em>x</em></span>: 440 </p> 441<div class="blockquote"><blockquote class="blockquote"><p> 442 <span class="inlinemediaobject"><img src="../../equations/legendre_0.svg"></span> 443 444 </p></blockquote></div> 445<p> 446 See also <a class="link" href="sf_poly/legendre.html" title="Legendre (and Associated) Polynomials">legendre_p</a> for 447 the full template (header only) version of this function. 448 </p> 449<pre class="programlisting"><span class="comment">// [5.2.1.20] Riemann zeta function:</span> 450<span class="keyword">double</span> <span class="identifier">riemann_zeta</span><span class="special">(</span><span class="keyword">double</span><span class="special">);</span> 451<span class="keyword">float</span> <span class="identifier">riemann_zetaf</span><span class="special">(</span><span class="keyword">float</span><span class="special">);</span> 452<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">riemann_zetal</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span><span class="special">);</span> 453</pre> 454<p> 455 Returns the Riemann Zeta function of <span class="emphasis"><em>x</em></span>: 456 </p> 457<div class="blockquote"><blockquote class="blockquote"><p> 458 <span class="inlinemediaobject"><img src="../../equations/zeta1.svg"></span> 459 460 </p></blockquote></div> 461<p> 462 See also <a class="link" href="zetas/zeta.html" title="Riemann Zeta Function">zeta</a> for the full template 463 (header only) version of this function. 464 </p> 465<pre class="programlisting"><span class="comment">// [5.2.1.21] spherical Bessel functions (of the first kind):</span> 466<span class="keyword">double</span> <span class="identifier">sph_bessel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 467<span class="keyword">float</span> <span class="identifier">sph_besself</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 468<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_bessell</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 469</pre> 470<p> 471 Returns the spherical Bessel function of the first kind of <span class="emphasis"><em>x</em></span> 472 j<sub>n</sub>(x): 473 </p> 474<div class="blockquote"><blockquote class="blockquote"><p> 475 <span class="inlinemediaobject"><img src="../../equations/sbessel2.svg"></span> 476 477 </p></blockquote></div> 478<p> 479 See also <a class="link" href="bessel/sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds">sph_bessel</a> for 480 the full template (header only) version of this function. 481 </p> 482<pre class="programlisting"><span class="comment">// [5.2.1.22] spherical associated Legendre functions:</span> 483<span class="keyword">double</span> <span class="identifier">sph_legendre</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">theta</span><span class="special">);</span> 484<span class="keyword">float</span> <span class="identifier">sph_legendref</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">theta</span><span class="special">);</span> 485<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_legendrel</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">l</span><span class="special">,</span> <span class="keyword">unsigned</span> <span class="identifier">m</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">theta</span><span class="special">);</span> 486</pre> 487<p> 488 Returns the spherical associated Legendre function of <span class="emphasis"><em>l</em></span>, 489 <span class="emphasis"><em>m</em></span> and <span class="emphasis"><em>theta</em></span>: 490 </p> 491<div class="blockquote"><blockquote class="blockquote"><p> 492 <span class="inlinemediaobject"><img src="../../equations/spherical_3.svg"></span> 493 494 </p></blockquote></div> 495<p> 496 See also <a class="link" href="sf_poly/sph_harm.html" title="Spherical Harmonics">spherical_harmonic</a> 497 for the full template (header only) version of this function. 498 </p> 499<pre class="programlisting"><span class="comment">// [5.2.1.23] spherical Neumann functions;</span> 500<span class="comment">// spherical Bessel functions (of the second kind):</span> 501<span class="keyword">double</span> <span class="identifier">sph_neumann</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 502<span class="keyword">float</span> <span class="identifier">sph_neumannf</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 503<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">sph_neumannl</span><span class="special">(</span><span class="keyword">unsigned</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 504</pre> 505<p> 506 Returns the spherical Neumann function of <span class="emphasis"><em>x</em></span> y<sub>n</sub>(x): 507 </p> 508<div class="blockquote"><blockquote class="blockquote"><p> 509 <span class="inlinemediaobject"><img src="../../equations/sbessel2.svg"></span> 510 511 </p></blockquote></div> 512<p> 513 See also <a class="link" href="bessel/sph_bessel.html" title="Spherical Bessel Functions of the First and Second Kinds">sph_bessel</a> for 514 the full template (header only) version of this function. 515 </p> 516<h5> 517<a name="math_toolkit.tr1_ref.h2"></a> 518 <span class="phrase"><a name="math_toolkit.tr1_ref.currently_unsupported_tr1_functi"></a></span><a class="link" href="tr1_ref.html#math_toolkit.tr1_ref.currently_unsupported_tr1_functi">Currently 519 Unsupported TR1 Functions</a> 520 </h5> 521<pre class="programlisting"><span class="comment">// [5.2.1.7] confluent hypergeometric functions:</span> 522<span class="keyword">double</span> <span class="identifier">conf_hyperg</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 523<span class="keyword">float</span> <span class="identifier">conf_hypergf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 524<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">conf_hypergl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 525 526<span class="comment">// [5.2.1.17] hypergeometric functions:</span> 527<span class="keyword">double</span> <span class="identifier">hyperg</span><span class="special">(</span><span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 528<span class="keyword">float</span> <span class="identifier">hypergf</span><span class="special">(</span><span class="keyword">float</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">float</span> <span class="identifier">x</span><span class="special">);</span> 529<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">hypergl</span><span class="special">(</span><span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">a</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">b</span><span class="special">,</span> <span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">c</span><span class="special">,</span> 530<span class="keyword">long</span> <span class="keyword">double</span> <span class="identifier">x</span><span class="special">);</span> 531</pre> 532<div class="note"><table border="0" summary="Note"> 533<tr> 534<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../../../../../doc/src/images/note.png"></td> 535<th align="left">Note</th> 536</tr> 537<tr><td align="left" valign="top"><p> 538 These two functions are not implemented as they are not believed to be numerically 539 stable. 540 </p></td></tr> 541</table></div> 542</div> 543<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 544<td align="left"></td> 545<td align="right"><div class="copyright-footer">Copyright © 2006-2019 Nikhar 546 Agrawal, Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, 547 Hubert Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Matthew Pulver, Johan 548 Råde, Gautam Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg, 549 Daryle Walker and Xiaogang Zhang<p> 550 Distributed under the Boost Software License, Version 1.0. (See accompanying 551 file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt" target="_top">http://www.boost.org/LICENSE_1_0.txt</a>) 552 </p> 553</div></td> 554</tr></table> 555<hr> 556<div class="spirit-nav"> 557<a accesskey="p" href="c99.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../extern_c.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="../root_finding.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a> 558</div> 559</body> 560</html> 561