Date: Fri, 17 Sep 2021 16:13:24 +0000
Having now read the minutes
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2814.pdf of the meeting,
I note there is something referred to repeatedly in the minutes that seems
to suggest something that was in early drafts of TS 18661-3, *not* what's
in the final TS or the Annex accepted for C23.
Specifically, there are several references in the minutes to
non-arithmetic interchange types, and the idea that you might have
non-arithmetic _Float16. That's not correct. Early drafts of TS 18661-3
did have the notion of non-arithmetic _FloatN types. But in what ended up
in the TS and C23, there are no such types; non-arithmetic interchange
formats are supported by providing certain functions converting to and
from encodings (arrays of unsigned char), not by providing _FloatN types
for those formats; see X.2.2 in N2601; all _FloatN types are arithmetic
types.
(Also, the requirement to support binary16 at least as a non-arithmetic
interchange format appears in TS 18661-3, but not in N2601 where any
supported non-arithmetic interchange formats are implementation-defined.)
http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2814.pdf of the meeting,
I note there is something referred to repeatedly in the minutes that seems
to suggest something that was in early drafts of TS 18661-3, *not* what's
in the final TS or the Annex accepted for C23.
Specifically, there are several references in the minutes to
non-arithmetic interchange types, and the idea that you might have
non-arithmetic _Float16. That's not correct. Early drafts of TS 18661-3
did have the notion of non-arithmetic _FloatN types. But in what ended up
in the TS and C23, there are no such types; non-arithmetic interchange
formats are supported by providing certain functions converting to and
from encodings (arrays of unsigned char), not by providing _FloatN types
for those formats; see X.2.2 in N2601; all _FloatN types are arithmetic
types.
(Also, the requirement to support binary16 at least as a non-arithmetic
interchange format appears in TS 18661-3, but not in N2601 where any
supported non-arithmetic interchange formats are implementation-defined.)
-- Joseph S. Myers joseph_at_[hidden]
Received on 2021-09-17 11:13:33