This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of TRDec status.

605. [dec.tr] <decfloat.h> doesn't live here anymore.

Section: 3.4 [dec.tr::trdec.types.cdecfloat] Status: TRDec Submitter: Robert Klarer Opened: 2006-10-17 Last modified: 2016-01-31

Priority: Not Prioritized

View all issues with TRDec status.

Discussion:

In Berlin, WG14 decided to drop the <decfloat.h> header. The contents of that header have been moved into <float.h>. For the sake of C compatibility, we should make corresponding changes.

Proposed resolution:

1. Change the heading of subclause 3.4, "Headers <cdecfloat> and <decfloat.h>" to "Additions to headers <cfloat> and <float.h>."

2. Change the text of subclause 3.4 as follows:

The standard C++ headers <cfloat> and <float.h> define characteristics of the floating-point types float, double, and long double. Their contents remain unchanged by this Technical Report.

Headers <cdecfloat> and <decfloat.h> define characteristics of the decimal floating-point types decimal32, decimal64, and decimal128. As well, <decfloat.h> defines the convenience typedefs _Decimal32, _Decimal64, and _Decimal128, for compatibilty with the C programming language.

The header <cfloat> is described in [tr.c99.cfloat]. The header <float.h> is described in [tr.c99.floath]. These headers are extended by this Technical Report to define characteristics of the decimal floating-point types decimal32, decimal64, and decimal128. As well, <float.h> is extended to define the convenience typedefs _Decimal32, _Decimal64, and _Decimal128 for compatibility with the C programming language.

3. Change the heading of subclause 3.4.1, "Header <cdecfloat> synopsis" to "Additions to header <cfloat> synopsis."

4. Change the heading of subclause 3.4.2, "Header <decfloat.h> synopsis" to "Additions to header <float.h> synopsis."

5. Change the contents of 3.4.2 as follows:

      #include <cdecfloat>

      // C-compatibility convenience typedefs:

      typedef std::decimal::decimal32  _Decimal32;
      typedef std::decimal::decimal64  _Decimal64;
      typedef std::decimal::decimal128 _Decimal128;