$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r84008 - in sandbox/precision/libs/precision/doc: . html html/precision
From: pbristow_at_[hidden]
Date: 2013-04-22 12:01:09
Author: pbristow
Date: 2013-04-22 12:01:06 EDT (Mon, 22 Apr 2013)
New Revision: 84008
URL: http://svn.boost.org/trac/boost/changeset/84008
Log:
Further minor corrections - standard text is added by reference to a separate file
Binary files modified: 
   sandbox/precision/libs/precision/doc/precision.pdf
Text files modified: 
   sandbox/precision/libs/precision/doc/html/index.html                 |     5                                         
   sandbox/precision/libs/precision/doc/html/precision/literals.html    |     6                                         
   sandbox/precision/libs/precision/doc/html/precision/thestandard.html |   144 --------------------------------------- 
   sandbox/precision/libs/precision/doc/html/precision/thetypedefs.html |     4                                         
   sandbox/precision/libs/precision/doc/html/precision/version_id.html  |     2                                         
   sandbox/precision/libs/precision/doc/n3626                           |     2                                         
   sandbox/precision/libs/precision/doc/precision.qbk                   |   110 ++----------------------------          
   7 files changed, 20 insertions(+), 253 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-04-22 12:01:06 EDT (Mon, 22 Apr 2013)
@@ -71,14 +71,15 @@
     ISO/IEC JTC1 SC22 WG14/ Numerics N1703 - 2013-04-18
   </p>
 <p>
-    Revised after WG21/SG6 meeting 18 Apr 2013.
+    Revised after WG21/SG6 meeting 18 Apr 2013, and 22 Apr 2013 adding a reference
+    to standard text in raw html.
   </p>
 <p>
     Comments and suggestions to Paul.A.Bristow pbristow_at_hetp.u-net.com.
   </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: April 19, 2013 at 13:30:19 GMT</small></p></td>
+<td align="left"><p><small>Last revised: April 22, 2013 at 16:00:41 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>
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-04-22 12:01:06 EDT (Mon, 22 Apr 2013)
@@ -37,7 +37,7 @@
       The header <code class="computeroutput"><span class="special"><</span><span class="identifier">cstdfloat</span><span class="special">></span></code> should contain all necessary C-style function
       macros in the form shown below.
     </p>
-<pre class="programlisting"><span class="identifier">FLOAT</span><span class="special">{</span><span class="number">16</span> <span class="number">32</span> <span class="number">64</span> <span class="number">80</span> <span class="number">128</span> <span class="number">256</span> <span class="number">512</span> <span class="identifier">MAX</span><span class="special">}</span><span class="identifier">_C</span>
+<pre class="programlisting"><span class="identifier">FLOAT</span><span class="special">{</span><span class="number">16</span> <span class="number">32</span> <span class="number">64</span> <span class="number">80</span> <span class="number">128</span> <span class="identifier">MAX</span><span class="special">}</span><span class="identifier">_C</span>
 </pre>
 <p>
       The code below, for example, initializes a constant <code class="computeroutput"><span class="identifier">float128_t</span></code>
@@ -59,8 +59,8 @@
       In addition, the header <code class="computeroutput"><span class="special"><</span><span class="identifier">cstdfloat</span><span class="special">></span></code> should contain all necessary macros of
       the form:
     </p>
-<pre class="programlisting"><span class="identifier">FLOAT_</span><span class="special">[</span><span class="identifier">FAST</span> <span class="identifier">LEAST</span><span class="special">]{</span><span class="number">16</span> <span class="number">32</span> <span class="number">64</span> <span class="number">80</span> <span class="number">128</span> <span class="number">256</span> <span class="number">512</span><span class="special">}</span><span class="identifier">_MIN</span>
-<span class="identifier">FLOAT_</span><span class="special">[</span><span class="identifier">FAST</span> <span class="identifier">LEAST</span><span class="special">]{</span><span class="number">16</span> <span class="number">32</span> <span class="number">64</span> <span class="number">80</span> <span class="number">128</span> <span class="number">256</span> <span class="number">512</span><span class="special">}</span><span class="identifier">_MAX</span>
+<pre class="programlisting"><span class="identifier">FLOAT_</span><span class="special">[</span><span class="identifier">FAST</span> <span class="identifier">LEAST</span><span class="special">]{</span><span class="number">16</span> <span class="number">32</span> <span class="number">64</span> <span class="number">80</span> <span class="number">128</span><span class="special">}</span><span class="identifier">_MIN</span>
+<span class="identifier">FLOAT_</span><span class="special">[</span><span class="identifier">FAST</span> <span class="identifier">LEAST</span><span class="special">]{</span><span class="number">16</span> <span class="number">32</span> <span class="number">64</span> <span class="number">80</span> <span class="number">128</span><span class="special">}</span><span class="identifier">_MAX</span>
 <span class="identifier">FLOATMAX_MIN</span>
 <span class="identifier">FLOATMAX_MAX</span>
 </pre>
Modified: sandbox/precision/libs/precision/doc/html/precision/thestandard.html
==============================================================================
--- sandbox/precision/libs/precision/doc/html/precision/thestandard.html	(original)
+++ sandbox/precision/libs/precision/doc/html/precision/thestandard.html	2013-04-22 12:01:06 EDT (Mon, 22 Apr 2013)
@@ -73,149 +73,9 @@
       18.11 Floating-Point Types having Specified Widths
     </p>
 <p>
-      18.11.1 Header <cstdfloat> synopsis [cstdfloat.syn]
+      <a href="https://svn.boost.org/svn/boost/sandbox/precision/libs/precision/doc/n3626%20standard.html" target="_top">n3626
+      standard text</a>
     </p>
-<p>
-      Header <code class="computeroutput"><span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">h</span></code>
-    </p>
-<p>
-      All implementations should define this header, even if none of the <code class="computeroutput"><span class="keyword">typedef</span></code>s are available, when it will be an empty
-      file.
-    </p>
-<p>
-      Only those <code class="computeroutput"><span class="keyword">typedef</span></code>s that are appropriate
-      should be defined. For example, if a <code class="computeroutput"><span class="keyword">double</span></code>
-      type is not in IEEE754 format, then <code class="computeroutput"><span class="keyword">typedef</span>
-      <span class="identifier">floating</span><span class="special">-</span><span class="identifier">point</span><span class="special">-</span><span class="identifier">type</span>
-      <span class="identifier">float64_t</span></code> should <span class="bold"><strong>not</strong></span>
-      be defined. This will ensure that programs that try to use a <code class="computeroutput"><span class="keyword">typedef</span></code> that is not defined on that platform
-      will simply fail to compile.
-    </p>
-<p>
-      <code class="computeroutput"><span class="keyword">typedef</span></code>s of the format <code class="computeroutput"><span class="identifier">floatN_t</span></code> are for IEE754 types (were available)
-      providing exactly N bits. For these types that are defined, <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">T</span><span class="special">>::</span><span class="identifier">is_iec559</span> <span class="special">==</span> <span class="keyword">true</span></code>.
-    </p>
-<p>
-      <code class="computeroutput"><span class="keyword">typedef</span></code>s of the format <code class="computeroutput"><span class="identifier">float_leastN_t</span></code> provide types with at least
-      the precision N, but do <span class="bold"><strong>not</strong></span> specify the layout.
-    </p>
-<p>
-      <code class="computeroutput"><span class="keyword">typedef</span></code>s of the format <code class="computeroutput"><span class="identifier">float_fastN_t</span></code> provide types with at least
-      the precision N, and provide the fastest execution, and do <span class="bold"><strong>not</strong></span>
-      specify the layout.
-    </p>
-<p>
-      The use of denormals is implementation dependent, but can be determined for
-      any type T from <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">T</span><span class="special">>::</span><span class="identifier">has_denorm</span><span class="special">,</span> <span class="identifier">denorm_min</span></code>
-      and <code class="computeroutput"><span class="identifier">float_denorm_style</span></code>.
-    </p>
-<p>
-      The endianness of the layout of the floating-point types is not specified here
-      (though it may be possible to determine this - see note 9).
-    </p>
-<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">std</span>
-<span class="special">{</span>
-  <span class="keyword">typedef</span> <span class="identifier">floating</span><span class="special">-</span><span class="identifier">point</span> <span class="identifier">type</span> <span class="identifier">float8_t</span><span class="special">;</span>   <span class="comment">// optional (See note 1).</span>
-  <span class="keyword">typedef</span> <span class="identifier">floating</span><span class="special">-</span><span class="identifier">point</span> <span class="identifier">type</span> <span class="identifier">float16_t</span><span class="special">;</span>   <span class="comment">// optional (See note 2).</span>
-  <span class="keyword">typedef</span> <span class="identifier">floating</span><span class="special">-</span><span class="identifier">point</span> <span class="identifier">type</span> <span class="identifier">float24_t</span><span class="special">;</span>   <span class="comment">// optional (See note 3.</span>
-  <span class="keyword">typedef</span> <span class="identifier">floating</span><span class="special">-</span><span class="identifier">point</span> <span class="identifier">type</span> <span class="identifier">float32_t</span><span class="special">;</span>   <span class="comment">// optional (See note 4).</span>
-  <span class="keyword">typedef</span> <span class="identifier">floating</span><span class="special">-</span><span class="identifier">point</span> <span class="identifier">type</span> <span class="identifier">float64_t</span><span class="special">;</span>   <span class="comment">// optional (See note 5).</span>
-  <span class="keyword">typedef</span> <span class="identifier">floating</span><span class="special">-</span><span class="identifier">point</span> <span class="identifier">type</span> <span class="identifier">float80_t</span><span class="special">;</span>   <span class="comment">// optional (See note 6).</span>
-  <span class="keyword">typedef</span> <span class="identifier">floating</span><span class="special">-</span><span class="identifier">point</span> <span class="identifier">type</span> <span class="identifier">float128_t</span><span class="special">;</span>  <span class="comment">// optional (See note 7).</span>
-  <span class="keyword">typedef</span> <span class="identifier">floating</span><span class="special">-</span><span class="identifier">point</span> <span class="identifier">type</span> <span class="identifier">floatmax_t</span><span class="special">;</span>  <span class="comment">// optional (largest floating-point type available).</span>
-
-  <span class="keyword">typedef</span> <span class="identifier">floating</span><span class="special">-</span><span class="identifier">point</span> <span class="identifier">type</span> <span class="identifier">float_least16_t</span><span class="special">;</span>  <span class="comment">// optional.</span>
-  <span class="keyword">typedef</span> <span class="identifier">floating</span><span class="special">-</span><span class="identifier">point</span> <span class="identifier">type</span> <span class="identifier">float_least32_t</span><span class="special">;</span>  <span class="comment">// optional.</span>
-  <span class="keyword">typedef</span> <span class="identifier">floating</span><span class="special">-</span><span class="identifier">point</span> <span class="identifier">type</span> <span class="identifier">float_least64_t</span><span class="special">;</span>  <span class="comment">// optional.</span>
-  <span class="keyword">typedef</span> <span class="identifier">floating</span><span class="special">-</span><span class="identifier">point</span> <span class="identifier">type</span> <span class="identifier">float_least128_t</span><span class="special">;</span> <span class="comment">// optional.</span>
-
-  <span class="keyword">typedef</span> <span class="identifier">floating</span><span class="special">-</span><span class="identifier">point</span> <span class="identifier">type</span> <span class="identifier">float_fast16_t</span><span class="special">;</span>  <span class="comment">// optional.</span>
-  <span class="keyword">typedef</span> <span class="identifier">floating</span><span class="special">-</span><span class="identifier">point</span> <span class="identifier">type</span> <span class="identifier">float_fast32_t</span><span class="special">;</span>  <span class="comment">// optional.</span>
-  <span class="keyword">typedef</span> <span class="identifier">floating</span><span class="special">-</span><span class="identifier">point</span> <span class="identifier">type</span> <span class="identifier">float_fast64_t</span><span class="special">;</span>  <span class="comment">// optional.</span>
-  <span class="keyword">typedef</span> <span class="identifier">floating</span><span class="special">-</span><span class="identifier">point</span> <span class="identifier">type</span> <span class="identifier">float_fast80_t</span><span class="special">;</span>  <span class="comment">// optional.</span>
-  <span class="keyword">typedef</span> <span class="identifier">floating</span><span class="special">-</span><span class="identifier">point</span> <span class="identifier">type</span> <span class="identifier">float_fast128_t</span><span class="special">;</span> <span class="comment">// optional.</span>
-<span class="special">}</span>
-</pre>
-<p>
-      Notes
-    </p>
-<p>
-      1 There is no IEEE754/IEC559 specification for a 8-bit floating-point type,
-      so the layout is implementation dependent. The type should occupy exactly 8
-      bits to allow optimisation.
-    </p>
-<p>
-      2 There is no IEEE754/IEC559 specification for a 24-bit floating-point type,
-      so the layout is implementation dependent.
-    </p>
-<p>
-      3 IEEE754 Half precision.
-    </p>
-<p>
-      4 IEEE754 Single precision.
-    </p>
-<p>
-      5 IEEE754 Double precision.
-    </p>
-<p>
-      6 IEEE754 Extended precision. This type may be implemented using 128 bits,
-      with padding. The size and location of any padding is implementation dependent,
-      so this type is unlikely to be suitable for binary interchange.
-    </p>
-<p>
-      7 IEEE754 Quadruple precision.
-    </p>
-<p>
-      8 The use of denormals is implementation dependent, but can be determined for
-      any type T from <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">T</span><span class="special">>::</span><span class="identifier">has_denorm</span><span class="special">,</span> <span class="identifier">denorm_min</span></code>
-      and <code class="computeroutput"><span class="identifier">float_denorm_style</span></code>.
-    </p>
-<p>
-      9 If cooperating programs wish to try to use binary interchange for IEEE754/IEC559
-      types of <code class="computeroutput"><span class="identifier">float_N_t</span></code>, for example
-      for serialization, because the endianness of the layout of the floating-point
-      types is not specified (but may be determined) therefore programs must ensure
-      that they all use the same endianness and the same use of denormals.
-    </p>
-<p>
-      The header <code class="computeroutput"><span class="identifier">stdfloat</span><span class="special">.</span><span class="identifier">h</span></code> (called by <code class="computeroutput"><span class="special"><</span><span class="identifier">cstdfloat</span><span class="special">></span></code>
-      should also contain all necessary C function macros in the form shown below.
-    </p>
-<pre class="programlisting"><span class="identifier">FLOAT</span><span class="special">{</span><span class="number">16</span> <span class="number">32</span> <span class="number">64</span> <span class="number">80</span> <span class="number">128</span> <span class="identifier">MAX</span><span class="special">}</span><span class="identifier">_C</span>
-</pre>
-<p>
-      The code below, for example, initializes a constant <code class="computeroutput"><span class="identifier">float128_t</span></code>
-      value using one of these macros.
-    </p>
-<pre class="programlisting"><span class="error">`</span><span class="preprocessor">#include</span> <span class="identifier">cstdfloat</span><span class="special">.</span><span class="identifier">h</span><span class="error">`</span> <span class="keyword">or</span> <span class="error">`</span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">cstdfloat</span><span class="special">></span><span class="error">`</span>
-
-<span class="identifier">constexpr</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">float128_t</span> <span class="identifier">euler</span> <span class="special">=</span> <span class="identifier">FLOAT128_C</span><span class="special">(</span><span class="number">0.57721566490153286060651209008240243104216</span><span class="special">);</span>
-</pre>
-<p>
-      The following code initializes a constant <code class="computeroutput"><span class="identifier">float16_t</span></code>
-      value using another one of these macros.
-    </p>
-<pre class="programlisting"><span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">float16_t</span> <span class="identifier">euler</span> <span class="special">=</span> <span class="identifier">FLOAT16_C</span><span class="special">(</span><span class="number">0.577216</span><span class="special">);</span>
-</pre>
-<p>
-      In addition, the header <code class="computeroutput"><span class="special"><</span><span class="identifier">cstdfloat</span><span class="special">></span></code> should contain all necessary macros of
-      the form:
-    </p>
-<pre class="programlisting"><span class="identifier">FLOAT_</span><span class="special">[</span><span class="identifier">FAST</span> <span class="identifier">LEAST</span><span class="special">]{</span><span class="number">16</span> <span class="number">32</span> <span class="number">64</span> <span class="number">80</span> <span class="number">128</span><span class="special">}</span><span class="identifier">_MIN</span>
-<span class="identifier">FLOAT_</span><span class="special">[</span><span class="identifier">FAST</span> <span class="identifier">LEAST</span><span class="special">]{</span><span class="number">16</span> <span class="number">32</span> <span class="number">64</span> <span class="number">80</span> <span class="number">128</span><span class="special">}</span><span class="identifier">_MAX</span>
-<span class="identifier">FLOATMAX_MIN</span>
-<span class="identifier">FLOATMAX_MAX</span>
-</pre>
-<p>
-      These macros can be used to query the ranges of the optional floating-point
-      typedefs having specified widths at compile-time. For example,
-    </p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">limits</span><span class="special">></span>
-<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 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>
 <td align="left"></td>
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-04-22 12:01:06 EDT (Mon, 22 Apr 2013)
@@ -80,8 +80,8 @@
 <p>
       It means that floating-point software written with <code class="computeroutput"><span class="identifier">float16_t</span></code>,
       <code class="computeroutput"><span class="identifier">float32_t</span></code>, <code class="computeroutput"><span class="identifier">float64_t</span></code>,
-      and <code class="computeroutput"><span class="identifier">float128_t</span></code> should behave
-      identically when used on any platform with any implementation that correctly
+      and <code class="computeroutput"><span class="identifier">float128_t</span></code> will probably
+      behave identically when used on any platform with any implementation that correctly
       supports the <code class="computeroutput"><span class="keyword">typedef</span></code>s.
     </p>
 <p>
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-04-22 12:01:06 EDT (Mon, 22 Apr 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 02:30:19 PM on 2013-Apr-19.
+      Last edit to Quickbook file precision.qbk was at 05:00:41 PM on 2013-Apr-22.
     </p>
 <div class="tip"><table border="0" summary="Tip">
 <tr>
Modified: sandbox/precision/libs/precision/doc/n3626 standard.html
==============================================================================
--- sandbox/precision/libs/precision/doc/n3626 standard.html	(original)
+++ sandbox/precision/libs/precision/doc/n3626 standard.html	2013-04-22 12:01:06 EDT (Mon, 22 Apr 2013)
@@ -1,4 +1,4 @@
-<HTML><HEAD><TITLE>N3626, Proposal for Unbounded-Precision Integer Types</TITLE></HEAD><BODY>
+<HTML><HEAD><TITLE>N3626, Proposal for floating-point-typedefs Having Specified Widths</TITLE></HEAD><BODY>
 
 <CENTER>
 <H1><A NAME="N3626, Proposal for floating-point-typedefs Having Specified Widths">Proposal for floating-point-typedefs Having Specified Widths</A></H1>
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-04-22 12:01:06 EDT (Mon, 22 Apr 2013)
@@ -17,7 +17,7 @@
 
 ISO/IEC JTC1 SC22 WG14/ Numerics    N1703     - 2013-04-18
 
-Revised after WG21/SG6 meeting 18 Apr 2013.
+Revised after WG21/SG6 meeting 18 Apr 2013, and 22 Apr 2013 adding  a reference to standard text in raw html.
 
 Comments and suggestions to Paul.A.Bristow pbristow_at_hetp.u-net.com.
 
@@ -180,7 +180,7 @@
 
 It means that floating-point software written with
 `float16_t`, `float32_t`, `float64_t`, and `float128_t`
-should behave identically when used on any platform
+will probably behave identically when used on any platform
 with any implementation that correctly supports the `typedef`s.
 
 It also creates the opportunity to implement quadruple-precision (__IEEE_Quad)
@@ -192,7 +192,8 @@
 * `float11_t, float24_t, float53_t, float113_t, ...`
 * `float16_t, float32_t, float64_t, float128_t, ...`
 
-The first set above is intuitively coined from [@http://dx.doi.org/10.1109/IEEESTD.2008.4610935 IEE754:2008].
+The first set above is intuitively coined from
+[@http://dx.doi.org/10.1109/IEEESTD.2008.4610935 IEE754:2008].
 It is also consistent with the gist of integer types having specified widths
 such as `int64_t`, in so far as the number of binary digits of ['significand] precision
 is contained within the name of the data type.
@@ -319,7 +320,7 @@
 The header `<cstdfloat>` should contain all necessary
 C-style function macros in the form shown below.
 
-  FLOAT{16 32 64 80 128 256 512 MAX}_C
+  FLOAT{16 32 64 80 128 MAX}_C
 
 The code below, for example, initializes a constant `float128_t`
 value using one of these macros.
@@ -338,8 +339,8 @@
 In addition, the header `<cstdfloat>` should contain all
 necessary macros of the form:
 
-  FLOAT_[FAST LEAST]{16 32 64 80 128 256 512}_MIN
-  FLOAT_[FAST LEAST]{16 32 64 80 128 256 512}_MAX
+  FLOAT_[FAST LEAST]{16 32 64 80 128}_MIN
+  FLOAT_[FAST LEAST]{16 32 64 80 128}_MAX
   FLOATMAX_MIN
   FLOATMAX_MAX
 
@@ -395,102 +396,7 @@
 
 18.11 Floating-Point Types having Specified Widths
 
-18.11.1 Header <cstdfloat> synopsis [cstdfloat.syn]
-
-Header `cstdfloat.h`
-
-All implementations should define this header, even if none of the `typedef`s are available, when it will be an empty file.
-
-Only those `typedef`s that are appropriate should be defined. For example, if a `double` type is not in IEEE754 format,
-then `typedef floating-point-type float64_t` should *not* be defined.
-This will ensure that programs that try to use a `typedef` that is not defined on that platform will simply fail to compile.
-
-`typedef`s of the format `floatN_t` are for IEE754 types (were available) providing exactly N bits.
-For these types that are defined, `std::numeric_limits<T>::is_iec559 == true`.
-
-`typedef`s of the format `float_leastN_t` provide types with at least the precision N, but do *not* specify the layout.
-
-`typedef`s of the format `float_fastN_t` provide types with at least the precision N, and provide the fastest execution, and do *not* specify the layout.
-
-The use of denormals is implementation dependent, but can be determined for any type T from `std::numeric_limits<T>::has_denorm, denorm_min` and `float_denorm_style`.
-
-The endianness of the layout of the floating-point types is not specified here (though it may be possible to determine this - see note 9).
-
-  namespace std
-  {
-    typedef floating-point type float8_t;   // optional (See note 1).
-    typedef floating-point type float16_t;   // optional (See note 2).
-    typedef floating-point type float24_t;   // optional (See note 3.
-    typedef floating-point type float32_t;   // optional (See note 4).
-    typedef floating-point type float64_t;   // optional (See note 5).
-    typedef floating-point type float80_t;   // optional (See note 6).
-    typedef floating-point type float128_t;  // optional (See note 7).
-    typedef floating-point type floatmax_t;  // optional (largest floating-point type available).
-
-    typedef floating-point type float_least16_t;  // optional.
-    typedef floating-point type float_least32_t;  // optional.
-    typedef floating-point type float_least64_t;  // optional.
-    typedef floating-point type float_least128_t; // optional.
-
-    typedef floating-point type float_fast16_t;  // optional.
-    typedef floating-point type float_fast32_t;  // optional.
-    typedef floating-point type float_fast64_t;  // optional.
-    typedef floating-point type float_fast80_t;  // optional.
-    typedef floating-point type float_fast128_t; // optional.
-  }
-
-Notes
-
-1 There is no IEEE754/IEC559 specification for a 8-bit floating-point type, so the layout is implementation dependent. The type should occupy exactly 8 bits to allow optimisation.
-
-2 There is no IEEE754/IEC559 specification for a 24-bit floating-point type, so the layout is implementation dependent.
-
-3 IEEE754 Half precision.
-
-4 IEEE754 Single precision.
-
-5 IEEE754 Double precision.
-
-6 IEEE754 Extended precision. This type may be implemented using 128 bits, with padding.
-The size and location of any padding is implementation dependent, so this type is unlikely to be suitable for binary interchange.
-
-7 IEEE754 Quadruple precision.
-
-8 The use of denormals is implementation dependent, but can be determined for any type T from `std::numeric_limits<T>::has_denorm, denorm_min` and `float_denorm_style`.
-
-9 If cooperating programs wish to try to use binary interchange for IEEE754/IEC559 types of `float_N_t`,
-for example for serialization,
-because the endianness of the layout of the floating-point types is not specified (but may be determined)
-therefore programs must ensure that they all use the same endianness and the same use of denormals.
-
-The header `stdfloat.h` (called by `<cstdfloat>` should also contain all necessary C function macros in the form shown below.
-
-  FLOAT{16 32 64 80 128 MAX}_C
-
-The code below, for example, initializes a constant `float128_t` value using one of these macros.
-
-  `#include cstdfloat.h` or `#include <cstdfloat>`
-
-  constexpr std::float128_t euler = FLOAT128_C(0.57721566490153286060651209008240243104216);
-
-The following code initializes a constant `float16_t` value using another one of these macros.
-
-  const std::float16_t euler = FLOAT16_C(0.577216);
-
-In addition, the header `<cstdfloat>` should contain all necessary macros of the form:
-
-  FLOAT_[FAST LEAST]{16 32 64 80 128}_MIN
-  FLOAT_[FAST LEAST]{16 32 64 80 128}_MAX
-  FLOATMAX_MIN
-  FLOATMAX_MAX
-
-These macros can be used to query the ranges of the optional floating-point typedefs having specified widths at compile-time. For example,
-
-  #include <limits>
-  #include <cstdfloat>
-
-  static_assert(FLOATMAX_MAX > (std::numeric_limits<float>::max)(),
-                "The iec559 floating-point range is too small.");
+[@https://svn.boost.org/svn/boost/sandbox/precision/libs/precision/doc/n3626%20standard.html n3626 standard text]
 
 [endsect] [/section:thestandard Place in the standard]