• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<html>
2<head>
3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
4<title>Elliptic Integrals of the Third Kind - Legendre Form</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="../ellint.html" title="Elliptic Integrals">
9<link rel="prev" href="ellint_2.html" title="Elliptic Integrals of the Second Kind - Legendre Form">
10<link rel="next" href="ellint_d.html" title="Elliptic Integral D - Legendre Form">
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="ellint_2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.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="ellint_d.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
24</div>
25<div class="section">
26<div class="titlepage"><div><div><h3 class="title">
27<a name="math_toolkit.ellint.ellint_3"></a><a class="link" href="ellint_3.html" title="Elliptic Integrals of the Third Kind - Legendre Form">Elliptic Integrals of the
28      Third Kind - Legendre Form</a>
29</h3></div></div></div>
30<h5>
31<a name="math_toolkit.ellint.ellint_3.h0"></a>
32        <span class="phrase"><a name="math_toolkit.ellint.ellint_3.synopsis"></a></span><a class="link" href="ellint_3.html#math_toolkit.ellint.ellint_3.synopsis">Synopsis</a>
33      </h5>
34<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">math</span><span class="special">/</span><span class="identifier">special_functions</span><span class="special">/</span><span class="identifier">ellint_3</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
35</pre>
36<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>
37
38<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
39<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">phi</span><span class="special">);</span>
40
41<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter 21. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
42<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter 21. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
43
44<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
45<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">);</span>
46
47<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter 21. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
48<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter 21. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
49
50<span class="special">}}</span> <span class="comment">// namespaces</span>
51</pre>
52<h5>
53<a name="math_toolkit.ellint.ellint_3.h1"></a>
54        <span class="phrase"><a name="math_toolkit.ellint.ellint_3.description"></a></span><a class="link" href="ellint_3.html#math_toolkit.ellint.ellint_3.description">Description</a>
55      </h5>
56<p>
57        These two functions evaluate the incomplete elliptic integral of the third
58        kind <span class="emphasis"><em>Π(n, φ, k)</em></span> and its complete counterpart <span class="emphasis"><em>Π(n,
59        k) = E(n, π/2, k)</em></span>.
60      </p>
61<div class="blockquote"><blockquote class="blockquote"><p>
62          <span class="inlinemediaobject"><img src="../../../graphs/ellint_3.svg" align="middle"></span>
63
64        </p></blockquote></div>
65<p>
66        The return type of these functions is computed using the <a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>result
67        type calculation rules</em></span></a> when the arguments are of different
68        types: when they are the same type then the result is the same type as the
69        arguments.
70      </p>
71<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">&gt;</span>
72<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">phi</span><span class="special">);</span>
73
74<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T3</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter 21. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
75<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">T3</span> <span class="identifier">phi</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter 21. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
76</pre>
77<p>
78        Returns the incomplete elliptic integral of the third kind <span class="emphasis"><em>Π(n,
79        φ, k)</em></span>:
80      </p>
81<div class="blockquote"><blockquote class="blockquote"><p>
82          <span class="inlinemediaobject"><img src="../../../equations/ellint4.svg"></span>
83
84        </p></blockquote></div>
85<p>
86        Requires <span class="emphasis"><em>k<sup>2</sup>sin<sup>2</sup>(phi) &lt; 1</em></span> and <span class="emphasis"><em>n &lt; 1/sin<sup>2</sup>(φ)</em></span>,
87        otherwise returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
88        (outside this range the result would be complex).
89      </p>
90<p>
91        The final <a class="link" href="../../policy.html" title="Chapter 21. Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
92        be used to control the behaviour of the function: how it handles errors,
93        what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter 21. Policies: Controlling Precision, Error Handling etc">policy
94        documentation for more details</a>.
95      </p>
96<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">&gt;</span>
97<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">);</span>
98
99<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T2</span><span class="special">,</span> <span class="keyword">class</span> <a class="link" href="../../policy.html" title="Chapter 21. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&gt;</span>
100<a class="link" href="../result_type.html" title="Calculation of the Type of the Result"><span class="emphasis"><em>calculated-result-type</em></span></a> <span class="identifier">ellint_3</span><span class="special">(</span><span class="identifier">T1</span> <span class="identifier">k</span><span class="special">,</span> <span class="identifier">T2</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">const</span> <a class="link" href="../../policy.html" title="Chapter 21. Policies: Controlling Precision, Error Handling etc">Policy</a><span class="special">&amp;);</span>
101</pre>
102<p>
103        Returns the complete elliptic integral of the first kind <span class="emphasis"><em>Π(n, k)</em></span>:
104      </p>
105<div class="blockquote"><blockquote class="blockquote"><p>
106          <span class="inlinemediaobject"><img src="../../../equations/ellint8.svg"></span>
107
108        </p></blockquote></div>
109<p>
110        Requires <span class="emphasis"><em>|k| &lt; 1</em></span> and <span class="emphasis"><em>n &lt; 1</em></span>,
111        otherwise returns the result of <a class="link" href="../error_handling.html#math_toolkit.error_handling.domain_error">domain_error</a>
112        (outside this range the result would be complex).
113      </p>
114<p>
115        The final <a class="link" href="../../policy.html" title="Chapter 21. Policies: Controlling Precision, Error Handling etc">Policy</a> argument is optional and can
116        be used to control the behaviour of the function: how it handles errors,
117        what level of precision to use etc. Refer to the <a class="link" href="../../policy.html" title="Chapter 21. Policies: Controlling Precision, Error Handling etc">policy
118        documentation for more details</a>.
119      </p>
120<h5>
121<a name="math_toolkit.ellint.ellint_3.h2"></a>
122        <span class="phrase"><a name="math_toolkit.ellint.ellint_3.accuracy"></a></span><a class="link" href="ellint_3.html#math_toolkit.ellint.ellint_3.accuracy">Accuracy</a>
123      </h5>
124<p>
125        These functions are computed using only basic arithmetic operations, so there
126        isn't much variation in accuracy over differing platforms. Note that only
127        results for the widest floating point type on the system are given as narrower
128        types have <a class="link" href="../relative_error.html#math_toolkit.relative_error.zero_error">effectively
129        zero error</a>. All values are relative errors in units of epsilon.
130      </p>
131<div class="table">
132<a name="math_toolkit.ellint.ellint_3.table_ellint_3"></a><p class="title"><b>Table 8.65. Error rates for ellint_3</b></p>
133<div class="table-contents"><table class="table" summary="Error rates for ellint_3">
134<colgroup>
135<col>
136<col>
137<col>
138<col>
139<col>
140</colgroup>
141<thead><tr>
142<th>
143              </th>
144<th>
145                <p>
146                  GNU C++ version 7.1.0<br> linux<br> long double
147                </p>
148              </th>
149<th>
150                <p>
151                  GNU C++ version 7.1.0<br> linux<br> double
152                </p>
153              </th>
154<th>
155                <p>
156                  Sun compiler version 0x5150<br> Sun Solaris<br> long double
157                </p>
158              </th>
159<th>
160                <p>
161                  Microsoft Visual C++ version 14.1<br> Win32<br> double
162                </p>
163              </th>
164</tr></thead>
165<tbody>
166<tr>
167<td>
168                <p>
169                  Elliptic Integral PI: Mathworld Data
170                </p>
171              </td>
172<td>
173                <p>
174                  <span class="blue">Max = 475ε (Mean = 86.3ε)</span><br> <br>
175                  (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = +INFε (Mean
176                  = +INFε) <a class="link" href="../logs_and_tables/logs.html#errors_GNU_C_version_7_1_0_linux_long_double_ellint_3__cmath__Elliptic_Integral_PI_Mathworld_Data">And
177                  other failures.</a>)</span>
178                </p>
179              </td>
180<td>
181                <p>
182                  <span class="blue">Max = 0ε (Mean = 0ε)</span><br> <br> (<span class="emphasis"><em>GSL
183                  2.1:</em></span> Max = 1.48e+05ε (Mean = 2.54e+04ε) <a class="link" href="../logs_and_tables/logs.html#errors_GNU_C_version_7_1_0_linux_double_ellint_3_GSL_2_1_Elliptic_Integral_PI_Mathworld_Data">And
184                  other failures.</a>)
185                </p>
186              </td>
187<td>
188                <p>
189                  <span class="blue">Max = 475ε (Mean = 86.3ε)</span>
190                </p>
191              </td>
192<td>
193                <p>
194                  <span class="blue">Max = 565ε (Mean = 102ε)</span>
195                </p>
196              </td>
197</tr>
198<tr>
199<td>
200                <p>
201                  Elliptic Integral PI: Random Data
202                </p>
203              </td>
204<td>
205                <p>
206                  <span class="blue">Max = 4.54ε (Mean = 0.895ε)</span><br> <br>
207                  (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 3.37e+20ε (Mean
208                  = 3.47e+19ε) <a class="link" href="../logs_and_tables/logs.html#errors_GNU_C_version_7_1_0_linux_long_double_ellint_3__cmath__Elliptic_Integral_PI_Random_Data">And
209                  other failures.</a>)</span>
210                </p>
211              </td>
212<td>
213                <p>
214                  <span class="blue">Max = 0ε (Mean = 0ε)</span><br> <br> (<span class="emphasis"><em>GSL
215                  2.1:</em></span> Max = 633ε (Mean = 50.1ε))
216                </p>
217              </td>
218<td>
219                <p>
220                  <span class="blue">Max = 4.49ε (Mean = 0.885ε)</span>
221                </p>
222              </td>
223<td>
224                <p>
225                  <span class="blue">Max = 8.33ε (Mean = 0.971ε)</span>
226                </p>
227              </td>
228</tr>
229<tr>
230<td>
231                <p>
232                  Elliptic Integral PI: Large Random Data
233                </p>
234              </td>
235<td>
236                <p>
237                  <span class="blue">Max = 3.7ε (Mean = 0.893ε)</span><br> <br>
238                  (<span class="emphasis"><em>&lt;cmath&gt;:</em></span> <span class="red">Max = 2.52e+18ε (Mean
239                  = 4.83e+17ε) <a class="link" href="../logs_and_tables/logs.html#errors_GNU_C_version_7_1_0_linux_long_double_ellint_3__cmath__Elliptic_Integral_PI_Large_Random_Data">And
240                  other failures.</a>)</span>
241                </p>
242              </td>
243<td>
244                <p>
245                  <span class="blue">Max = 0.557ε (Mean = 0.0389ε)</span><br>
246                  <br> (<span class="emphasis"><em>GSL 2.1:</em></span> Max = 40.1ε (Mean = 7.77ε))
247                </p>
248              </td>
249<td>
250                <p>
251                  <span class="blue">Max = 3.7ε (Mean = 0.892ε)</span>
252                </p>
253              </td>
254<td>
255                <p>
256                  <span class="blue">Max = 2.86ε (Mean = 0.944ε)</span>
257                </p>
258              </td>
259</tr>
260</tbody>
261</table></div>
262</div>
263<br class="table-break"><h5>
264<a name="math_toolkit.ellint.ellint_3.h3"></a>
265        <span class="phrase"><a name="math_toolkit.ellint.ellint_3.testing"></a></span><a class="link" href="ellint_3.html#math_toolkit.ellint.ellint_3.testing">Testing</a>
266      </h5>
267<p>
268        The tests use a mixture of spot test values calculated using the online calculator
269        at <a href="http://functions.wolfram.com" target="_top">functions.wolfram.com</a>,
270        and random test data generated using NTL::RR at 1000-bit precision and this
271        implementation.
272      </p>
273<h5>
274<a name="math_toolkit.ellint.ellint_3.h4"></a>
275        <span class="phrase"><a name="math_toolkit.ellint.ellint_3.implementation"></a></span><a class="link" href="ellint_3.html#math_toolkit.ellint.ellint_3.implementation">Implementation</a>
276      </h5>
277<p>
278        The implementation for Π(n, φ, k) first siphons off the special cases:
279      </p>
280<div class="blockquote"><blockquote class="blockquote"><p>
281          <span class="serif_italic"><span class="emphasis"><em>Π(0, φ, k) = F(φ, k)</em></span></span>
282        </p></blockquote></div>
283<div class="blockquote"><blockquote class="blockquote"><p>
284          <span class="serif_italic"><span class="emphasis"><em>Π(n, π/2, k) = Π(n, k)</em></span></span>
285        </p></blockquote></div>
286<p>
287        and
288      </p>
289<div class="blockquote"><blockquote class="blockquote"><p>
290          <span class="inlinemediaobject"><img src="../../../equations/ellint23.svg"></span>
291
292        </p></blockquote></div>
293<p>
294        Then if n &lt; 0 the relations (A&amp;S 17.7.15/16):
295      </p>
296<div class="blockquote"><blockquote class="blockquote"><p>
297          <span class="inlinemediaobject"><img src="../../../equations/ellint24.svg"></span>
298
299        </p></blockquote></div>
300<p>
301        are used to shift <span class="emphasis"><em>n</em></span> to the range [0, 1].
302      </p>
303<p>
304        Then the relations:
305      </p>
306<div class="blockquote"><blockquote class="blockquote"><p>
307          <span class="serif_italic"><span class="emphasis"><em>Π(n, -φ, k) = -Π(n, φ, k)</em></span></span>
308        </p></blockquote></div>
309<div class="blockquote"><blockquote class="blockquote"><p>
310          <span class="serif_italic"><span class="emphasis"><em>Π(n, φ+mπ, k) = Π(n, φ, k) + 2mΠ(n, k)
311          ; n &lt;= 1</em></span></span>
312        </p></blockquote></div>
313<div class="blockquote"><blockquote class="blockquote"><p>
314          <span class="serif_italic"><span class="emphasis"><em>Π(n, φ+mπ, k) = Π(n, φ, k) ; n &gt; 1</em></span>
315                  
316<a href="#ftn.math_toolkit.ellint.ellint_3.f0" class="footnote" name="math_toolkit.ellint.ellint_3.f0"><sup class="footnote">[1]</sup></a></span>
317        </p></blockquote></div>
318<p>
319        are used to move φ to the range [0, π/2].
320      </p>
321<p>
322        The functions are then implemented in terms of Carlson's integrals using
323        the relations:
324      </p>
325<div class="blockquote"><blockquote class="blockquote"><p>
326          <span class="inlinemediaobject"><img src="../../../equations/ellint25.svg"></span>
327
328        </p></blockquote></div>
329<p>
330        and
331      </p>
332<div class="blockquote"><blockquote class="blockquote"><p>
333          <span class="inlinemediaobject"><img src="../../../equations/ellint26.svg"></span>
334
335        </p></blockquote></div>
336<div class="footnotes">
337<br><hr style="width:100; text-align:left;margin-left: 0">
338<div id="ftn.math_toolkit.ellint.ellint_3.f0" class="footnote"><p><a href="#math_toolkit.ellint.ellint_3.f0" class="para"><sup class="para">[1] </sup></a>
339            I haven't been able to find a literature reference for this relation,
340            but it appears to be the convention used by Mathematica. Intuitively
341            the first <span class="emphasis"><em>2 * m * Π(n, k)</em></span> terms cancel out as the
342            derivative alternates between +∞ and -∞.
343          </p></div>
344</div>
345</div>
346<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
347<td align="left"></td>
348<td align="right"><div class="copyright-footer">Copyright © 2006-2019 Nikhar
349      Agrawal, Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos,
350      Hubert Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Matthew Pulver, Johan
351      Råde, Gautam Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg,
352      Daryle Walker and Xiaogang Zhang<p>
353        Distributed under the Boost Software License, Version 1.0. (See accompanying
354        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>)
355      </p>
356</div></td>
357</tr></table>
358<hr>
359<div class="spirit-nav">
360<a accesskey="p" href="ellint_2.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ellint.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="ellint_d.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
361</div>
362</body>
363</html>
364