Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r83647 - sandbox/precision/libs/precision/doc
From: e_float_at_[hidden]
Date: 2013-03-30 09:23:09


Author: christopher_kormanyos
Date: 2013-03-30 09:23:08 EDT (Sat, 30 Mar 2013)
New Revision: 83647
URL: http://svn.boost.org/trac/boost/changeset/83647

Log:
Proposal is now more clear and offers more flexibility regarding 754 conformance.
Text files modified:
   sandbox/precision/libs/precision/doc/precision.qbk | 16 ++++++++++++----
   1 files changed, 12 insertions(+), 4 deletions(-)

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-30 09:23:08 EDT (Sat, 30 Mar 2013)
@@ -70,7 +70,7 @@
 in __IEEE_floating_point.
 
 The optional floating-point `typedef`s having specified widths
-are to be contained in a new standard library header `<cstdfloat>`.
+are to be contained in a [*new standard library header `<cstdfloat>`].
 They will be defined in the `std` namespace.
 
 [*New C-style macros to facilitate initialization]
@@ -205,6 +205,13 @@
 and exponent bits can be confirmed as IEEE754 by checking
 `std::numeric_limits<type>::is_iec559 == true`, and the byte-order.
 
+[note __IEEE_floating_point prescribes a method of precision extension,
+that allows for conforming types other than `binary16`, `binary32`, `binary64`, and `binary128`.
+Furthermore, paragraph 3.7 in __IEEE_floating_point states:
+[*Language standards should define mechanisms supporting extendable precision
+for each supported radix]. This proposal embodies a potential way for
+C++ to adhere to this requirement.]
+
 We will now consider several examples showing how
 various implementations might introduce some of the
 optional floating-point `typedef`s having specified widths
@@ -448,7 +455,8 @@
 can only have `true` for the value of `std::numeric_limits<>::is_iec559`
 if its underlying type (be it `float`, `double`, `long double` or
 an implementation-dependent type) conforms with one of
-`binary16`, `binary32`, `binary64`, or `binary128`
+`binary16`, `binary32`, `binary64`, or `binary128`,
+or the prescribed method of precision extension
 in __IEEE_floating_point.]
 
 [endsect] [/section:limitsinterop Interoperation with <limits>]
@@ -541,8 +549,8 @@
 also support a 24-bit floating-point type. Here, an extension
 of the optional floating-point `typedef`s with specified widths
 could include `float24_t`. This would be equivalent to
-three-quarter precision floating-point, which is not
-specified in __IEEE_floating_point.
+three-quarter precision floating-point, the layout of which should
+adhere to the method of precision extension specified in __IEEE_floating_point.
 
 [endsect] [/section:lowerprecision Extending to lower precision]
 


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