|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r83670 - in sandbox/precision/libs/precision/doc: . html html/precision
From: pbristow_at_[hidden]
Date: 2013-03-31 13:18:17
Author: pbristow
Date: 2013-03-31 13:18:16 EDT (Sun, 31 Mar 2013)
New Revision: 83670
URL: http://svn.boost.org/trac/boost/changeset/83670
Log:
Rebuilt with minor change.
Little-endian IEEE754 architectures now predominate.
Binary files modified:
sandbox/precision/libs/precision/doc/precision.pdf
Text files modified:
sandbox/precision/libs/precision/doc/html/index.html | 2 +-
sandbox/precision/libs/precision/doc/html/precision/introduction.html | 6 ------
sandbox/precision/libs/precision/doc/html/precision/literals.html | 2 +-
sandbox/precision/libs/precision/doc/html/precision/thetypedefs.html | 39 ++++++++++++++++++++++++++++++++-------
sandbox/precision/libs/precision/doc/html/precision/version_id.html | 2 +-
sandbox/precision/libs/precision/doc/precision.qbk | 7 +++++--
6 files changed, 40 insertions(+), 18 deletions(-)
Modified: sandbox/precision/libs/precision/doc/html/index.html
==============================================================================
--- sandbox/precision/libs/precision/doc/html/index.html (original)
+++ sandbox/precision/libs/precision/doc/html/index.html 2013-03-31 13:18:16 EDT (Sun, 31 Mar 2013)
@@ -72,7 +72,7 @@
</p>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: March 30, 2013 at 22:04:30 GMT</small></p></td>
+<td align="left"><p><small>Last revised: March 31, 2013 at 17:16:23 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td>
</tr></table>
<hr>
Modified: sandbox/precision/libs/precision/doc/html/precision/introduction.html
==============================================================================
--- sandbox/precision/libs/precision/doc/html/precision/introduction.html (original)
+++ sandbox/precision/libs/precision/doc/html/precision/introduction.html 2013-03-31 13:18:16 EDT (Sun, 31 Mar 2013)
@@ -66,12 +66,6 @@
floating-point precision in C++.</strong></span>
</p>
<p>
- It may also be desirable to extend floating-point precision to both lower and
- higher precisions. This can be done by including implementation-specific <code class="computeroutput"><span class="keyword">typedef</span></code>s having specified widths that are not
- derived from <code class="computeroutput"><span class="keyword">float</span></code>, <code class="computeroutput"><span class="keyword">double</span></code>, and <code class="computeroutput"><span class="keyword">long</span>
- <span class="keyword">double</span></code>.
- </p>
-<p>
Providing optional floating-point <code class="computeroutput"><span class="keyword">typedef</span></code>s
having specified widths is expected to significantly improve portability, reliability,
and safety of floating-point calculations in C++. Analogous improvements for
Modified: sandbox/precision/libs/precision/doc/html/precision/literals.html
==============================================================================
--- sandbox/precision/libs/precision/doc/html/precision/literals.html (original)
+++ sandbox/precision/libs/precision/doc/html/precision/literals.html 2013-03-31 13:18:16 EDT (Sun, 31 Mar 2013)
@@ -73,7 +73,7 @@
<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">cstdfloat</span><span class="special">></span>
<span class="identifier">static_assert</span><span class="special">(</span><span class="identifier">FLOATMAX_MAX</span> <span class="special">></span> <span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special"><</span><span class="keyword">float</span><span class="special">>::</span><span class="identifier">max</span><span class="special">)(),</span>
- <span class="string">"The floating-point range is too small."</span><span class="special">);</span>
+ <span class="string">"The iec559 floating-point range is too small."</span><span class="special">);</span>
</pre>
</div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
Modified: sandbox/precision/libs/precision/doc/html/precision/thetypedefs.html
==============================================================================
--- sandbox/precision/libs/precision/doc/html/precision/thetypedefs.html (original)
+++ sandbox/precision/libs/precision/doc/html/precision/thetypedefs.html 2013-03-31 13:18:16 EDT (Sun, 31 Mar 2013)
@@ -34,7 +34,7 @@
least and fast types, and the corresponding maximum-width type.
</p>
<p>
- For example,
+ In particular,
</p>
<pre class="programlisting"><span class="comment">// Sample partial synopsis of <cstdfloat></span>
@@ -123,7 +123,7 @@
No matter what naming scheme is used, the exact layout and number of significand
and exponent bits can be confirmed as IEEE754 by checking <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special"><</span><span class="identifier">type</span><span class="special">>::</span><span class="identifier">is_iec559</span>
<span class="special">==</span> <span class="keyword">true</span></code>,
- and the byte-order.
+ and the byte order. Little-endian IEEE754 architectures now predominate.
</p>
<div class="note"><table border="0" summary="Note">
<tr>
@@ -135,17 +135,42 @@
format</a> prescribes a method of precision extension, that allows for
conforming types other than <code class="computeroutput"><span class="identifier">binary16</span></code>,
<code class="computeroutput"><span class="identifier">binary32</span></code>, <code class="computeroutput"><span class="identifier">binary64</span></code>,
- and <code class="computeroutput"><span class="identifier">binary128</span></code>. Furthermore,
- paragraph 3.7 in <a href="http://en.wikipedia.org/wiki/IEEE_floating_point" target="_top">IEEE_
+ and <code class="computeroutput"><span class="identifier">binary128</span></code>. This makes
+ it possible to extend floating-point precision to both lower and higher precisions
+ in a standardized way using implementation-specific <code class="computeroutput"><span class="keyword">typedef</span></code>s
+ that are not derived from <code class="computeroutput"><span class="keyword">float</span></code>,
+ <code class="computeroutput"><span class="keyword">double</span></code>, and <code class="computeroutput"><span class="keyword">long</span>
+ <span class="keyword">double</span></code>.
+ </p></td></tr>
+</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ Paragraph 3.7 in <a href="http://en.wikipedia.org/wiki/IEEE_floating_point" target="_top">IEEE_
floating-point format</a> states: <span class="bold"><strong>Language standards
should define mechanisms supporting extendable precision for each supported
radix</strong></span>. This proposal embodies a potential way for C++ to adhere
to this requirement.
</p></td></tr>
</table></div>
+<div class="note"><table border="0" summary="Note">
+<tr>
+<td rowspan="2" align="center" valign="top" width="25"><img alt="[Note]" src="../images/note.png"></td>
+<th align="left">Note</th>
+</tr>
+<tr><td align="left" valign="top"><p>
+ <a href="http://en.wikipedia.org/wiki/IEEE_floating_point" target="_top">IEEE_ floating-point
+ format</a> does not specify the byte order for floating-point storage
+ (the so-called endianness).
+ This is the same situation that prevails for integer storage in C++.
+ </p></td></tr>
+</table></div>
<p>
- We will now consider several examples showing how various implementations might
- introduce some of the optional floating-point <code class="computeroutput"><span class="keyword">typedef</span></code>s
+ We will now consider various examples that show how implementations might introduce
+ some of the optional floating-point <code class="computeroutput"><span class="keyword">typedef</span></code>s
having specified widths into the <code class="computeroutput"><span class="identifier">std</span></code>
namespace.
</p>
@@ -179,7 +204,7 @@
and <code class="computeroutput"><span class="keyword">long</span> <span class="keyword">double</span></code>
corresponding to IEEE754 <code class="computeroutput"><span class="identifier">binary32</span></code>,
<code class="computeroutput"><span class="identifier">binary64</span></code>, and <code class="computeroutput"><span class="identifier">binary128</span></code>, respectively. In addition, this
- platform has floating-point types with octuple-precision and hextuple-precision.
+ implementation has floating-point types with octuple-precision and hextuple-precision.
The implementation for this supercomputer could introduce its optional floating-point
<code class="computeroutput"><span class="keyword">typedef</span></code>s having specified widths
into the <code class="computeroutput"><span class="identifier">std</span></code> namespace as shown
Modified: sandbox/precision/libs/precision/doc/html/precision/version_id.html
==============================================================================
--- sandbox/precision/libs/precision/doc/html/precision/version_id.html (original)
+++ sandbox/precision/libs/precision/doc/html/precision/version_id.html 2013-03-31 13:18:16 EDT (Sun, 31 Mar 2013)
@@ -26,7 +26,7 @@
<a name="precision.version_id"></a><a class="link" href="version_id.html" title="Version Info">Version Info</a>
</h2></div></div></div>
<p>
- Last edit to Quickbook file precision.qbk was at 10:04:30 PM on 2013-Mar-30.
+ Last edit to Quickbook file precision.qbk was at 06:16:23 PM on 2013-Mar-31.
</p>
<div class="tip"><table border="0" summary="Tip">
<tr>
Modified: sandbox/precision/libs/precision/doc/precision.pdf
==============================================================================
Binary files. No diff available.
Modified: sandbox/precision/libs/precision/doc/precision.qbk
==============================================================================
--- sandbox/precision/libs/precision/doc/precision.qbk (original)
+++ sandbox/precision/libs/precision/doc/precision.qbk 2013-03-31 13:18:16 EDT (Sun, 31 Mar 2013)
@@ -198,6 +198,7 @@
No matter what naming scheme is used, the exact layout and number of significand
and exponent bits can be confirmed as IEEE754 by checking
`std::numeric_limits<type>::is_iec559 == true`, and the byte order.
+Little-endian IEEE754 architectures now predominate.
[note __IEEE_floating_point prescribes a method of precision extension,
that allows for conforming types other than `binary16`, `binary32`, `binary64`, and `binary128`.
@@ -211,8 +212,10 @@
C++ to adhere to this requirement.]
[note __IEEE_floating_point does not specify the byte order for floating-point
-storage (the so-called endianness). This is the same situation that prevails for
-integer storage in C++.]
+storage (the so-called
+[@http://en.wikipedia.org/wiki/Endianness#Floating-point_and_endianness endianness]).
+This is the same situation that prevails for integer storage in C++.
+]
We will now consider various examples that show how implementations might introduce
some of the optional floating-point `typedef`s having specified widths
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk