1<html> 2<head> 3<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 4<title>Implementation and Accuracy</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="../inverse_complex.html" title="Chapter 15. Complex Number Functions"> 9<link rel="prev" href="../inverse_complex.html" title="Chapter 15. Complex Number Functions"> 10<link rel="next" href="asin.html" title="asin"> 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="../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> 24</div> 25<div class="section"> 26<div class="titlepage"><div><div><h2 class="title" style="clear: both"> 27<a name="math_toolkit.complex_implementation"></a><a class="link" href="complex_implementation.html" title="Implementation and Accuracy">Implementation and 28 Accuracy</a> 29</h2></div></div></div> 30<p> 31 Although there are deceptively simple formulae available for all of these functions, 32 a naive implementation that used these formulae would fail catastrophically 33 for some input values. The Boost versions of these functions have been implemented 34 using the methodology described in "Implementing the Complex Arcsine and 35 Arccosine Functions Using Exception Handling" by T. E. Hull Thomas F. 36 Fairgrieve and Ping Tak Peter Tang, ACM Transactions on Mathematical Software, 37 Vol. 23, No. 3, September 1997. This means that the functions are well defined 38 over the entire complex number range, and produce accurate values even at the 39 extremes of that range, where as a naive formula would cause overflow or underflow 40 to occur during the calculation, even though the result is actually a representable 41 value. The maximum theoretical relative error for all of these functions is 42 less than 9.5ε for every machine-representable point in the complex plane. Please 43 refer to comments in the header files themselves and to the above mentioned 44 paper for more information on the implementation methodology. 45 </p> 46</div> 47<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr> 48<td align="left"></td> 49<td align="right"><div class="copyright-footer">Copyright © 2006-2019 Nikhar 50 Agrawal, Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, 51 Hubert Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Matthew Pulver, Johan 52 Råde, Gautam Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg, 53 Daryle Walker and Xiaogang Zhang<p> 54 Distributed under the Boost Software License, Version 1.0. (See accompanying 55 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>) 56 </p> 57</div></td> 58</tr></table> 59<hr> 60<div class="spirit-nav"> 61<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> 62</div> 63</body> 64</html> 65