You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have a bibliography reference to ISO/IEC 10967-1:2012 and mention it in a number of footnotes. That standard makes factually incorrect statements and is irrelevant to C and C++ following the C23 rebase. We should purge any mention of it.
Historical background
Historically, C17 had an Annex H which documented compliance with ISO/IEC 10967–1. I suppose this is why we refer to it as well. C23 no longer mentions ISO/IEC 10967–1 in any of its wording, but does contain an unused reference in its bibliography. This is most likely an editorial mistake.
C23 instead has an Annex F, G, and H that document compliance with ISO/IEC 60559. We also refer to ISO/IEC 60559, and we are based on C23 for large portions of the standard library.
The problem with referencing ISO/IEC 10967-1
ISO/IEC 10967-1:2012 is now essentially irrelevant to us. In fact, the references we have are outright wrong and misleading:
C23 (https://cigix.me/c23#5.2.5.3.3.p23) says that an FLT_ROUNDS value of 1 indicates "to nearest, ties to even" and a value of 4 indicates "to nearest, ties away from zero"
On the contrary, ISO/IEC 10967-1 claims:
This is wrong. C no longer has any ambition of complying with ISO/IEC 10967-1, and it outright contradicts it, as can be seen.
Note
The "†" symbol means:
The operations or parameters marked “†” are not part of the language standard and must be provided by an implementation that wishes to conform to LIA-1.
This is also wrong in the case of C23. The language standard does provide the value 4.
Thankfully, no normative wording is affected by this, only a bunch of footnotes in [support].
We have a bibliography reference to ISO/IEC 10967-1:2012 and mention it in a number of footnotes. That standard makes factually incorrect statements and is irrelevant to C and C++ following the C23 rebase. We should purge any mention of it.
Historical background
Historically, C17 had an Annex H which documented compliance with ISO/IEC 10967–1. I suppose this is why we refer to it as well. C23 no longer mentions ISO/IEC 10967–1 in any of its wording, but does contain an unused reference in its bibliography. This is most likely an editorial mistake.
C23 instead has an Annex F, G, and H that document compliance with ISO/IEC 60559. We also refer to ISO/IEC 60559, and we are based on C23 for large portions of the standard library.
The problem with referencing ISO/IEC 10967-1
ISO/IEC 10967-1:2012 is now essentially irrelevant to us. In fact, the references we have are outright wrong and misleading:
draft/source/support.tex
Lines 1659 to 1663 in ef2abfa
C23 (https://cigix.me/c23#5.2.5.3.3.p23) says that an
FLT_ROUNDSvalue of1indicates "to nearest, ties to even" and a value of4indicates "to nearest, ties away from zero"On the contrary, ISO/IEC 10967-1 claims:
This is wrong. C no longer has any ambition of complying with ISO/IEC 10967-1, and it outright contradicts it, as can be seen.
Note
The "†" symbol means:
This is also wrong in the case of C23. The language standard does provide the value
4.Thankfully, no normative wording is affected by this, only a bunch of footnotes in [support].