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.
Section: 3.1 [dec.tr::trdec.types.encodings] Status: TRDec Submitter: Daniel Krugler Opened: 2006-05-28 Last modified: 2016-02-10
Priority: Not Prioritized
View all issues with TRDec status.
Daniel writes in a private email:
- 3.1 'Decimal type encodings' says in its note:"this implies that sizeof(std::decimal::decimal32) == 4, sizeof(std::decimal::decimal64) == 8, and sizeof(std::decimal::decimal128) == 16."
This is a wrong assertion, because the definition of 'byte' in 1.7 'The C+ + memory model' of ISO 14882 (2nd edition) does not specify that a byte must be necessarily 8 bits large, which would be necessary to compare with the specified bit sizes of the types decimal32, decimal64, and decimal128.
Change 3.1 as follows:
The three decimal encoding formats defined in IEEE-754R correspond to the three decimal floating types as follows:
- decimal32 is a decimal32 number, which is encoded in four consecutive
- decimal64 is a decimal64 number, which is encoded in eight consecutive
- decimal128 is a decimal128 number, which is encoded in 16 consecutive
[Note: this implies that
sizeof(std::decimal::decimal32) == 4,
sizeof(std::decimal::decimal64) == 8, and
sizeof(std::decimal::decimal128) == 16. --end note]