[DEV] add v1.76.0

This commit is contained in:
2021-10-05 21:37:46 +02:00
parent a97e9ae7d4
commit d0115b733d
45133 changed files with 4744437 additions and 1026325 deletions

View File

@@ -1,11 +1,11 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Floating-Point Representation Distance (ULP), and Finding Adjacent Floating-Point Values</title>
<link rel="stylesheet" href="../math.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="../index.html" title="Math Toolkit 2.6.0">
<link rel="up" href="../utils.html" title="Chapter&#160;2.&#160;Floating Point Utilities">
<link rel="home" href="../index.html" title="Math Toolkit 3.0.0">
<link rel="up" href="../utils.html" title="Chapter 2. Floating Point Utilities">
<link rel="prev" href="fp_facets/rationale.html" title="Design Rationale">
<link rel="next" href="next_float/nextafter.html" title="Finding the Next Representable Value in a Specific Direction (nextafter)">
</head>
@@ -68,14 +68,42 @@
for example <a href="http://keithbriggs.info/xrc.html" target="_top">XRC eXact Real in
C</a>.
</p>
<p>
The accuracy of mathematical functions can be assessed and displayed in terms
of <a href="https://en.wikipedia.org/wiki/Unit_in_the_last_place" target="_top">Unit in
the Last Place</a>, often as a ulps plot or by binning the differences
as a histogram. Samples are evaluated using the implementation under test and
compared with 'known good' representation obtained using a more accurate method.
Other implementations, often using arbitrary precision arithmetic, for example
<a href="http://www.wolframalpha.com/" target="_top">Wolfram Alpha</a> are one source
of references values. The other method, used widely in Boost.Math special functions,
it to carry out the same algorithm, but using a higher precision type, typically
using Boost.Multiprecision types like <code class="computeroutput"><span class="identifier">cpp_bin_float_quad</span></code>
for 128-bit (about 35 decimal digit precision), or <code class="computeroutput"><span class="identifier">cpp_bin_float_50</span></code>
(for 50 decimal digit precision).
</p>
<p>
When converted to a particular machine representation, say <code class="computeroutput"><span class="keyword">double</span></code>,
say using a <code class="computeroutput"><span class="keyword">static_cast</span></code>, the value
is the nearest representation possible for the <code class="computeroutput"><span class="keyword">double</span></code>
type. This value cannot be 'wrong' by more than half a <a href="http://en.wikipedia.org/wiki/Unit_in_the_last_place" target="_top">Unit
in the last place (ULP)</a>, and can be obtained using the Boost.Math function
<code class="computeroutput"><span class="identifier">ulp</span></code>. (Unless the algorithm
is fundamentally flawed, something that should be revealed by 'sanity' checks
using some independent sources).
</p>
<p>
See some discussion and example plots by Cleve Moler of Mathworks <a href="https://blogs.mathworks.com/cleve/2017/01/23/ulps-plots-reveal-math-function-accurary/" target="_top">ulps
plots reveal math-function accuracy</a>.
</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; 2006-2010, 2012-2014, 2017 Nikhar
Agrawal, Anton Bikineev, Paul A. Bristow, Marco Guazzone, Christopher Kormanyos,
Hubert Holin, Bruno Lalande, John Maddock, Jeremy Murphy, Johan R&#229;de, Gautam
Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg, Daryle Walker
and Xiaogang Zhang<p>
<td align="right"><div class="copyright-footer">Copyright © 2006-2021 Nikhar Agrawal, Anton Bikineev, Matthew Borland,
Paul A. Bristow, Marco Guazzone, Christopher Kormanyos, Hubert Holin, Bruno
Lalande, John Maddock, Evan Miller, Jeremy Murphy, Matthew Pulver, Johan Råde,
Gautam Sewani, Benjamin Sobotta, Nicholas Thompson, Thijs van den Berg, Daryle
Walker and Xiaogang Zhang<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>