<html><body><p><font size="2" face="sans-serif"> </font><font size="2" face="sans-serif"><b>Attendees</b></font><font size="2" face="sans-serif">: Rajan, Jim, Fred, Damian, Mike, David H.</font><br><br><font size="2" face="sans-serif"> </font><font size="2" face="sans-serif"><b>New agenda items</b></font><font size="2" face="sans-serif">:</font><br><font size="2" face="sans-serif"> None.</font><br><br><font size="2" face="sans-serif"><b> Carry-over action items:</b></font><br><font size="2" face="sans-serif"> Fred: WG14 N2714 Add "a" before "NaN" in last bullet. - Done.</font><br><font size="2" face="sans-serif"> Jim: [CFP 1997]: Range error definitions of overflow and underflow.</font><br><br><font size="2" face="sans-serif"><b> Last meeting action items (done unless specified otherwise, details below):</b></font><br><font size="2" face="sans-serif"> All: Review CFP 2060.</font><br><font size="2" face="sans-serif"> Fred: Submit CFP 2062 to WG14.</font><br><font size="2" face="sans-serif"> Fred: Write up a proposal to remove the *_HAS_SUBNORM macros.</font><br><font size="2" face="sans-serif"> All: Look into the email history to find out why we chose to make float and _Float32 separate and distinct types.</font><br><font size="2" face="sans-serif"> Rajan: See what we can propose for freestanding and IEEE 754 and send it to the CFP mailing list.</font><br><br><font size="2" face="sans-serif"><b> New action items:</b></font><br><font size="2" face="sans-serif"> Jim: Update N2746 with CFP 2090.</font><br><font size="2" face="sans-serif"> Fred: Send CFP 2094 to WG14.</font><br><font size="2" face="sans-serif"> Rajan: Ensure the C/C++ study group presentation sees P1467r4.</font><br><font size="2" face="sans-serif"> Rajan: Draft words for making freestanding support for CFP for both options in CFP2085.</font><br><font size="2" face="sans-serif"> Jim: Send CFP2089 as an update to N2672 barring any issues from this group.</font><br><font size="2" face="sans-serif"> All: Look over CFP2096 and give feedback within 2 weeks.</font><br><font size="2" face="sans-serif"> </font><br><font size="2" face="sans-serif"><b> Next Meeting(s):</b></font><br><font size="2" face="sans-serif"> Same time slot. Note: Back to original day of the week.</font><br><font size="2" face="sans-serif"> Wednesday, September 29, 2021, 4PM UTC</font><br><font size="2" face="sans-serif"> ISO Zoom teleconference</font><br><font size="2" face="sans-serif"> Please notify the group if this time slot does not work.</font><br><font size="2" face="sans-serif"> </font><br><font size="2" face="sans-serif"><b> C++ liaison:</b></font><br><font size="2" face="sans-serif"> CFP C23 changes summary page for the C++ liaison study group</font><br><font size="2" face="sans-serif"> Rajan: Sent out. See details in action item below. </font><br><br><font size="2" face="sans-serif"><b> C23 integration</b></font><br><font size="2" face="sans-serif"> Latest C2X draft: </font><a href="http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2"><font size="2" face="sans-serif">http://www.open-std.org/jtc1/sc22/wg14/www/docs/n2</font></a><font size="2" face="sans-serif">{596,573,478}.pdf also as link on CFP wiki</font><br><font size="2" face="sans-serif"> Part 2</font><br><font size="2" face="sans-serif"> Part 3</font><br><font size="2" face="sans-serif"> Part 4ab</font><br><font size="2" face="sans-serif"> Part 5abcd</font><br><font size="2" face="sans-serif"> IEC 60559:2020 support</font><br><br><font size="2" face="sans-serif"><b> Carry over action items:</b></font><br><font size="2" face="sans-serif"> Fred: WG14 N2714 Add "a" before "NaN" in last bullet.</font><br><font size="2" face="sans-serif"> See N2714.</font><br><font size="2" face="sans-serif"> Close item.</font><br><br><font size="2" face="sans-serif"> Jim: [CFP 1997]: Range error definitions of overflow and underflow.</font><br><font size="2" face="sans-serif"> See many CFP messages (Ex. CFP 2038-2090).</font><br><font size="2" face="sans-serif"> Re CFP 2090:</font><br><font size="2" face="sans-serif"> Jim: This would be a replacement of N2746.</font><br><font size="2" face="sans-serif"> Fred: An exact subnormal is an underflow.</font><br><font size="2" face="sans-serif"> Jim: Yes.</font><br><font size="2" face="sans-serif"> Fred: In 754 it may not raise the underflow exception.</font><br><font size="2" face="sans-serif"> Jim: Correct.</font><br><font size="2" face="sans-serif"> Fred: The definition of normal would need to change.</font><br><font size="2" face="sans-serif"> Mike: Is exact infinity defined somewhere?</font><br><font size="2" face="sans-serif"> Jim: The meaning is that the result is an infinity and is exact. An inexact infinity results from an overflow.</font><br><font size="2" face="sans-serif"> Mike: Need to check the uses of exact infinity and see if it is clear enough in the C standard.</font><br><font size="2" face="sans-serif"> ^AI: Jim: Update N2746 with CFP 2090.</font><br><br><font size="2" face="sans-serif"><b> Last meeting action items:</b></font><br><font size="2" face="sans-serif"> All: Review CFP 2060.</font><br><font size="2" face="sans-serif"> Rajan: On the agenda for the C/C++ compat group (Meeting on Friday September 10th, 1pm New York time via Zoom).</font><br><font size="2" face="sans-serif"> See P2423R0 (</font><a href="https://wg21.link/p2423r0"><font size="2" face="sans-serif">https://wg21.link/p2423r0</font></a><font size="2" face="sans-serif">) C Floating Point Study Group Liaison Report</font><br><br><font size="2" face="sans-serif"> Fred: Submit CFP 2062 to WG14.</font><br><font size="2" face="sans-serif"> Done as N2790.</font><br><font size="2" face="sans-serif"> </font><br><font size="2" face="sans-serif"> Fred: Write up a proposal to remove the *_HAS_SUBNORM macros.</font><br><font size="2" face="sans-serif"> See CFP 2094-2095.</font><br><font size="2" face="sans-serif"> Fred: Remove the *_HAS_SUBNORM macros and add in a new paragraph.</font><br><font size="2" face="sans-serif"> Fred: Since I wrote this, there were cases of flushing other than comparison operators!</font><br><font size="2" face="sans-serif"> Jim: The goal is to bring various subnormals into the standard and legal.</font><br><font size="2" face="sans-serif"> Mike: There was an old logarithmic thing that didn't have a zero.</font><br><font size="2" face="sans-serif"> Fred: A long time ago, C outlawed logarithmic floating point.</font><br><font size="2" face="sans-serif"> ^AI: Fred: Send CFP 2094 to WG14.</font><br><br><font size="2" face="sans-serif"> All: Look into the email history to find out why we chose to make float and _Float32 separate and distinct types.</font><br><font size="2" face="sans-serif"> See CFP2074, CFP 2075.</font><br><font size="2" face="sans-serif"> CFP2075 seems to indicate there is no issue having float and _Float32 be different types.</font><br><font size="2" face="sans-serif"> Rajan: Depends on how P1467r4 was received by C++.</font><br><font size="2" face="sans-serif"> ^AI: Rajan: Ensure the C/C++ study group presentation sees P1467r4.</font><br><font size="2" face="sans-serif"> </font><br><font size="2" face="sans-serif"> Rajan: See what we can propose for freestanding and IEEE 754 and send it to the CFP mailing list.</font><br><font size="2" face="sans-serif"> See CFP2085/7/8.</font><br><font size="2" face="sans-serif"> Mike: Decimal separator (vs point/placeholder).</font><br><font size="2" face="sans-serif"> Jim: strtod not allowing exceptions, it was odd.</font><br><font size="2" face="sans-serif"> Rajan: The whitespace issue is still an issue.</font><br><font size="2" face="sans-serif"> Jim: Is there market demand for this?</font><br><font size="2" face="sans-serif"> Rajan: I don't see it for the large machine set, but have no insight into the small machine set.</font><br><font size="2" face="sans-serif"> Jim: Can you (Rajan) draft words for both of the options?</font><br><font size="2" face="sans-serif"> ^AI: Rajan: Draft words for making freestanding support for CFP for both options in CFP2085.</font><br><br><font size="2" face="sans-serif"> Jim: Add detect tininess before and after rounding via macro to the meeting agenda.</font><br><font size="2" face="sans-serif"> Fred: I see no utility to having a macro for this.</font><br><font size="2" face="sans-serif"> Mike: I agree. Too esoteric.</font><br><font size="2" face="sans-serif"> Damian/David: Agree.</font><br><font size="2" face="sans-serif"> Damian: Doesn't the standard say the order?</font><br><font size="2" face="sans-serif"> Jim: Yes, it is pinned down for decimal, but not for binary. 754 didn't provide a mechanism for this either.</font><br><font size="2" face="sans-serif"> David: The only one who would care would be Fred. Don't see any other use for that information.</font><br><br><font size="2" face="sans-serif"><b> Other issues:</b></font><br><font size="2" face="sans-serif"> Typo in 5.2.4.2.2 (See CFP2083, CFP2089).</font><br><font size="2" face="sans-serif"> Fred: I don't think having all x with f1>0 is clear. Double-double.</font><br><font size="2" face="sans-serif"> Jim: But that is not a normalized floating point number.</font><br><font size="2" face="sans-serif"> Fred: Yes.</font><br><font size="2" face="sans-serif"> Jim: Can we attach this to the cleanup paper? Any issues should be brought up via email.</font><br><font size="2" face="sans-serif"> Fred: Sounds good.</font><br><font size="2" face="sans-serif"> Jim: If I get a positive response, I can add this on to the other paper.</font><br><font size="2" face="sans-serif"> ^AI: Jim: Send CFP2089 as an update to N2672 barring any issues from this group.</font><br><font size="2" face="sans-serif"> </font><br><font size="2" face="sans-serif"> Number classification and normal numbers (See CFP2091-3, CFP2096).</font><br><font size="2" face="sans-serif"> Fred: If the first digit is a zero, it is not normalized.</font><br><font size="2" face="sans-serif"> Fred: For CFP2096, double double can have values larger than the largest finite normal numbers.</font><br><font size="2" face="sans-serif"> Jim: Yes, this adds them to the normal numbers category.</font><br><font size="2" face="sans-serif"> David: We have normal numbers and subnormals, on the hand we have normalized and unnormalized. Subnormal means below normal. There is a lack of symmetry. The footnote can explain the difference between normalized and unnormalized.</font><br><font size="2" face="sans-serif"> Fred: There is also supernormal (double double has it). Do you know if DBL_MAX + DBL_MAX is a finite number instead of an infinity.</font><br><font size="2" face="sans-serif"> Jim: Can include implementation defined values that are not normal or subnormals.</font><br><font size="2" face="sans-serif"> Mike: Any finite number that is not a subnormal is a normal number.</font><br><font size="2" face="sans-serif"> Fred: That has the zero issue.</font><br><font size="2" face="sans-serif"> David: Can say "non-zero" finite number. Zero is clearly normal.</font><br><font size="2" face="sans-serif"> Jim: Zero is not normal. In 754 either. It is mutually exclusive classifications. Zero is a classification.</font><br><font size="2" face="sans-serif"> Mike: I want to get rid of the normalized part.</font><br><font size="2" face="sans-serif"> Jim: It's still in the subnormal definition.</font><br><font size="2" face="sans-serif"> Fred: It might make sense to do it Mike's way.</font><br><font size="2" face="sans-serif"> Mike: We do it this way in decimal. Since nothing is normalized in decimal, it never needs to be said.</font><br><font size="2" face="sans-serif"> Jim: So how do you define subnormal?</font><br><font size="2" face="sans-serif"> Fred: C already defines subnormal floating point numbers before this.</font><br><font size="2" face="sans-serif"> Jim: But not subnormal numbers (just floating point numbers).</font><br><font size="2" face="sans-serif"> David: In some ways the minimum value is implementation defined. Ex. 2 sub-norms that add up to the minimum normal number. Too many possibilities. An implementation could make everything normal numbers. If they are not claiming IEEE conformance, who cares?</font><br><font size="2" face="sans-serif"> Jim: The context here is we are giving the C floating point model. We don't want to throw it away.</font><br><font size="2" face="sans-serif"> Mike: We shouldn't define it in terms of normalizing. It mixes up two concepts that just happen to coincide for binary floating point numbers.</font><br><font size="2" face="sans-serif"> David: Is there something in the C model where we can definitely give a minimum normal value?</font><br><font size="2" face="sans-serif"> Jim: Normal is a full precision value in the type. The C model fits into the next clause, 5.3.4.2.3 where we talk about decimal, with an integer value and an exponent.</font><br><font size="2" face="sans-serif"> Mike: Since we don't need to use the term normalize for decimal subnormals, we shouldn't need it for binary.</font><br><font size="2" face="sans-serif"> Jim: For decimal, using the C model, it has a non-zero digit, followed by 6 more digits. The minimum normalized value would be 1 with 6 zeros, with an exponent (given in the C model).</font><br><font size="2" face="sans-serif"> Fred: DEC32_MIN definition has the word normalized in there.</font><br><font size="2" face="sans-serif"> Mike: Maybe that is wrong.</font><br><font size="2" face="sans-serif"> Jim: All of those refer to the C model. We need to see how this applies to the decimal model. This proposal is intended to address the double double format as well.</font><br><font size="2" face="sans-serif"> Jim: Vincent's issue for C17 having normalized representation being normalizable. For decimal, the extra semantics are representation level semantics, below the floating point model that talks about values.</font><br><font size="2" face="sans-serif"> Rajan: Not to sure where new proposals and bug fix timing fits into the C23 timing.</font><br><font size="2" face="sans-serif"> Fred: October 15th mailing deadline is the deadline for new proposals.</font><br><font size="2" face="sans-serif"> Jim: Can we put a time limit on this discussion so we can have it ready to go?</font><br><font size="2" face="sans-serif"> Mike: My comments are not 'we must do this', just that it can be improved.</font><br><font size="2" face="sans-serif"> ^AI: All: Look over CFP2096 and give feedback within 2 weeks.</font><br><font size="2" face="sans-serif"> Fred: FLT_MIN should be FLOAT_TRUE_MIN / FLT_EPSILON for double double.</font><br><br><font size="2" face="sans-serif">Regards,<br><br>Rajan Bhakta<br>z/OS XL C/C++ Compiler Technical Architect<br>ISO C Standards Representative for Canada<br>C Compiler Development<br>Contact: rbhakta@us.ibm.com, Rajan Bhakta/Houston/IBM</font><br><BR>
<BR>
</body></html>