blob: 4a7ff8de09445a26596edfd86795d9f56ccdfdf8 [file] [log] [blame]
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Implementation and Accuracy</title>
<link rel="stylesheet" href="../../../../../../../doc/src/boostbook.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="../../index.html" title="Complex Number TR1 Algorithms">
<link rel="up" href="../inverse_complex.html" title="Complex Number Inverse Trigonometric Functions">
<link rel="prev" href="../inverse_complex.html" title="Complex Number Inverse Trigonometric Functions">
<link rel="next" href="asin.html" title="asin">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table cellpadding="2" width="100%"><tr>
<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td>
<td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>
<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>
<td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../inverse_complex.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.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="asin.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
<div class="section">
<div class="titlepage"><div><div><h3 class="title">
<a name="complex_number_tr1_algorithms.inverse_complex.implementation"></a><a class="link" href="implementation.html" title="Implementation and Accuracy">
Implementation and Accuracy</a>
</h3></div></div></div>
<p>
Although there are deceptively simple formulae available for all of these
functions, a naive implementation that used these formulae would fail catastrophically
for some input values. The Boost versions of these functions have been implemented
using the methodology described in "Implementing the Complex Arcsine
and Arccosine Functions Using Exception Handling" by T. E. Hull Thomas
F. Fairgrieve and Ping Tak Peter Tang, ACM Transactions on Mathematical Software,
Vol. 23, No. 3, September 1997. This means that the functions are well defined
over the entire complex number range, and produce accurate values even at
the extremes of that range, where as a naive formula would cause overflow
or underflow to occur during the calculation, even though the result is actually
a representable value. The maximum theoretical relative error for all of
these functions is less than 9.5E for every machine-representable point in
the complex plane. Please refer to comments in the header files themselves
and to the above mentioned paper for more information on the implementation
methodology.
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
<td align="left"></td>
<td align="right"><div class="copyright-footer">Copyright &#169; 2005 John Maddock<p>
Distributed under the Boost Software License, Version 1.0. (See accompanying
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>)
</p>
</div></td>
</tr></table>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../inverse_complex.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../inverse_complex.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="asin.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
</div>
</body>
</html>