<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Here are some draft comments on C23 review draft N3047, mostly from looking through floating-point relevant parts of clause 6.<div class=""><br class=""></div><div class="">- Jim Thomas<br class=""><div class=""><br class=""><div class=""><br class=""></div><div class="">JT-073 5.2.4.2.2#18 “Annex F” doesn’t have a link.<div class=""><br class=""></div><div class="">JT-074 6.2.5#10, footnote 46. The footnote explains what is implied by “same representation and alignment”. Is this just about signed and unsigned integers or is it a more general statement. For example, does it apply to complex and array types? If it’s just about signed and unsigned integers, change the footnote to "The same representation and alignment requirements for signed and unsigned integers are meant to imply interchangeability as arguments to functions, return values from functions, and members of unions."</div><div class=""><br class=""></div><div class="">JT-075 6.2.5#17, footnote 50. The footnote is broken across two pages.</div><div class=""><br class=""></div><div class="">JT-076 various. There is inconsistent use of a space in front of the parentheses in “alignof (“ and “sizeof (“. I’m guessing the space comes from following the syntax in 6.5.3. The space is appropriate for the syntax, but seems undesirable for uses of the operators.</div><div class=""><br class=""></div><div class="">JT-077 6.4.4.1#2 There is an undesirable line break in “(‘)”.</div><div class=""><br class=""></div><div class="">JT-078 6.5.1#5 Change “See 7.27 how such a macro …”. Maybe to “7.27 shows how such a macro …”.</div><div class=""><br class=""></div><div class="">JT-079 6.5.1#5 Since the example does not provide the type-generic macro required in 7.27 (for implementations with more than one rounding mode), it would be better to change “The cbrt type-generic macro …” to “A cbrt type-generic macro …”.</div><div class=""><br class=""></div><div class="">JT-080 5.2.4.2.3#10 The preferred quantum exponent for prefix and postfix increment and decrement operators is not specified. In the “Preferred quantum exponents” table, after the row for logb, insert the row:</div><div class=""><br class=""></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;" class=""><div class="">postfix ++ operator, postfix -- operator, prefix ++ operator, prefix -- operator<span class="Apple-tab-span" style="white-space:pre"> </span>min(Q(x), 0)</div></blockquote><div class=""><br class=""></div><div class="">JT-081 6.7.1#11 The last sentence has “see ??”.</div><div class=""><br class=""></div><div class="">JT-082 6.7.1#15 432000000 (base 10) = 11001101111111100110000000000 (base 2) = 1.100110111111110011*2^28 which is representable exactly in IEC 60559 float, contrary to what the example implies. Maybe use 43200002 which needs 25 bits.</div><div class=""><br class=""></div><div class="">JT-083 6.7.2.5#5 Change “operation” to “operator” and change “operations” to “operators”.</div><div class=""><br class=""></div><div class=""></div><div class="">JT-084 6.7.2.5#5 Change the last sentence to “The <b class="">typeof</b> operator preserves all qualifiers.”</div><div class=""><br class=""></div><div class="">JT-085 6.7.6.3#4 Needs space after the form.</div><div class=""><br class=""></div><div class="">JT-086 6.7.9#4 In the next to last sentence, “double” has incorrect typeface.</div><div class=""><br class=""></div><div class="">JT-087 6.7.9#5 “shadows” is used twice in the example, but its meaning is not mentioned.</div><div class=""><br class=""></div><div class=""></div><div class="">JT-088 6.7.9#5 Shouldn’t that be “auto b = b * b; …”?</div><div class=""><br class=""></div><div class="">JT-089 6.7.10#11 In the second bullet change “(positive or unsigned) zero” to “positive zero”. There is no unsigned zero in decimal floating types.</div><div class=""><br class=""></div><div class="">JT-089 6.7.12.7 “Idempotent” doesn’t seem like the correct term. Wikipedia: “Idempotence ... is the property of certain operations in mathematics and computer science whereby they can be applied multiple times without changing the result beyond the initial application.” Thus one would expect f(f(x)) = f(x).</div><div class=""><br class=""></div><div class=""></div><div class="">JT-090 7.27#14 Change “where where” to “where”.</div><div class=""><br class=""></div><div class=""><div class=""><br class=""></div></div></div></div></div></body></html>