<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word" xmlns:m = 
"http://schemas.microsoft.com/office/2004/12/omml"><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 11.00.9600.19431">
<STYLE>@font-face {
        font-family: Cambria Math;
}
@font-face {
        font-family: Calibri;
}
@page WordSection1 {size: 8.5in 11.0in; margin: 1.0in 1.0in 1.0in 1.0in; }
P.MsoNormal {
        FONT-SIZE: 11pt; FONT-FAMILY: "Calibri",sans-serif; MARGIN: 0in
}
LI.MsoNormal {
        FONT-SIZE: 11pt; FONT-FAMILY: "Calibri",sans-serif; MARGIN: 0in
}
DIV.MsoNormal {
        FONT-SIZE: 11pt; FONT-FAMILY: "Calibri",sans-serif; MARGIN: 0in
}
A:link {
        TEXT-DECORATION: underline; COLOR: #0563c1; mso-style-priority: 99
}
SPAN.MsoHyperlink {
        TEXT-DECORATION: underline; COLOR: #0563c1; mso-style-priority: 99
}
.MsoChpDefault {
        FONT-SIZE: 10pt; FONT-FAMILY: "Calibri",sans-serif; mso-style-type: export-only
}
DIV.WordSection1 {
        page: WordSection1
}
</STYLE>
</HEAD>
<BODY lang=EN-US style="WORD-WRAP: break-word" link=#0563c1 vLink=#954f72>
<DIV dir=ltr align=left><SPAN class=127251920-05012023><FONT color=#0000ff 
size=2 face=Arial>As always .. many thanks for the excellent 
notes!</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=127251920-05012023><FONT color=#0000ff 
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=127251920-05012023><FONT color=#0000ff 
size=2 face=Arial>Mike</FONT></SPAN></DIV><BR>
<BLOCKQUOTE 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #0000ff 2px solid; MARGIN-RIGHT: 0px" 
dir=ltr>
  <DIV lang=en-us class=OutlookMessageHeader dir=ltr align=left>
  <HR tabIndex=-1>
  <FONT size=2 face=Tahoma><B>From:</B> Cfp-interest 
  [mailto:cfp-interest-bounces@oakapple.net] <B>On Behalf Of </B>Rajan 
  Bhakta<BR><B>Sent:</B> 05 January 2023 17:52<BR><B>To:</B> 
  CFP<BR><B>Subject:</B> [Cfp-interest 2590] Preliminary WG14 IEEE 754-C binding 
  meetingminutes - 2023/01/05<BR></FONT><BR></DIV>
  <DIV></DIV>
  <DIV class=WordSection1>
  <P class=MsoNormal><B>Attendees</B>: Rajan, Jim, Damian, David H, Fred</P>
  <P class=MsoNormal><o:p> </o:p></P>
  <P class=MsoNormal><B>Continuing NB comment discussion:<o:p></o:p></B></P>
  <P class=MsoNormal>    Missed issues (from yesterday):</P>
  <P class=MsoNormal>      GB14: Jim: If the constants 
  are wider, you can't use them with constexpr since there is a change in 
  value.</P>
  <P class=MsoNormal>        Fred: You can 
  add a cast since they are allowed for arithmetic constant expressions.</P>
  <P class=MsoNormal>        Damian: Can't 
  you do "constexpr float a = (float)5.0;"?</P>
  <P class=MsoNormal>        Jim: Yes, though 
  rounding direction can change it. There is another comment for that. - 
  Agreed.</P>
  <P class=MsoNormal>      US5-18: No issues. - 
  Agreed.</P>
  <P class=MsoNormal><o:p> </o:p></P>
  <P class=MsoNormal>    Revisit issues needing a look:</P>
  <P class=MsoNormal>      US26-75: Jim: The problem 
  with Fred's approach would vary between implementations. Ex. One could only do 
  the default rounding mode so the constexpr evaluation would be valid on that 
  implementation but not in another.</P>
  <P class=MsoNormal>        Rajan: Not an 
  issue for strictly conforming programs.</P>
  <P class=MsoNormal>        Jim: Lets look 
  at GB279 first and come back to this. It is related.</P>
  <P class=MsoNormal>      GB279: Jim: Why can't it 
  have the same semantics as static initialization?</P>
  <P class=MsoNormal>        Damian: The 
  benefit of constexpr allows constexpr variables to be used on the right hand 
  side of other constexpr initializations.</P>
  <P class=MsoNormal>        Jim: So looking 
  at "like static" or "independence of mode". This means "constexpr double x = 
  (double)(1.0/3.0);" would be a constraint violation for independence of mode 
  but not for static.</P>
  <P class=MsoNormal>        Rajan: We could 
  propose both and let WG14 decide.</P>
  <P class=MsoNormal>        Fred: Probably 
  the best choice.</P>
  <P class=MsoNormal>        Damian: 
  constexpr can use auto/register/static as well. See 6.7.1#14 for a similar 
  example.</P>
  <P class=MsoNormal>        Jim: Doesn't 
  change the rounding mode. Can say "for determination of constraint violations, 
  the translation time mode is assumed."</P>
  <P class=MsoNormal>        Rajan: Mode 
  should be state or something else since it is not just rounding mode.</P>
  <P class=MsoNormal>        Jim: Right, wide 
  evaluation would also effect this.</P>
  <P class=MsoNormal>        ^ToDo: Jim: Look 
  to provide words for constexpr float issues saying something like "for 
  determination of constraint violations, the translation time state is assumed" 
  for GB279 and US26-75.</P>
  <P class=MsoNormal>        Jim: What does 
  this do to C++ compatibility? Side issue.</P>
  <P class=MsoNormal>      GB127: No issues. - 
  Agreed.</P>
  <P class=MsoNormal>        Fred: 6.7.10#11 
  is the related clause in the standard.</P>
  <P class=MsoNormal>      GB151: Jim: Issues with -0 
  and +0, since they are equal but not equivalent. Instead we can say "For a 
  complex variable z, z and CMPLX(…) are equivalent expressions, and z and 
  creal(z) … are equivalent expressions if imaginary types are supported." - 
  Mostly agreed.</P>
  <P class=MsoNormal>      GB157: No issues. - 
  Agreed.</P>
  <P class=MsoNormal>      GB163: No issues. - 
  Agreed.</P>
  <P class=MsoNormal>      GB286: Jim: Add in 7.33.20 
  post paragraph 1 saying wcstofN are reserved for wide character analogs of the 
  strtofN functions. - Agreed.</P>
  <P class=MsoNormal>      GB287: Jim: Suggested change 
  is too large at this stage. Instead change 7.24.1.6#4 bullet 1 from "it is not 
  a hexadecimal floating number" to "Whether the subject sequence may be 
  hexadecimal floating number is implementation defined" with Recommended 
  Practice being "Rounding for hexadecimal input should follow the method in 
  H.12.2". Also update the "0x1.8p+4" example to say "If hexadecimal input is 
  accepted (+1, 24, 0). If hexadecimal input is not accepted, ".</P>
  <P class=MsoNormal>        Fred: Should we 
  add to future directions that strtod will accept hexadecimal input in the 
  future.</P>
  <P class=MsoNormal>        Rajan: I 
  disagree. We don't know if WG14 will accept that.</P>
  <P class=MsoNormal>        Fred: Should we 
  have a feature test macro for this then?</P>
  <P class=MsoNormal>        Jim: Want to 
  keep it as simple as possible right now. - Agreed.</P>
  <P class=MsoNormal>      GB288: Jim: Updated the text 
  in the 20230105 document. - Agreed.</P>
  <P class=MsoNormal>        Fred: Can you 
  get an exact value for a value smaller than one so the preferred exponent 
  wouldn't be zero?</P>
  <P class=MsoNormal>        Jim: 0.8. That's 
  exact.</P>
  <P class=MsoNormal>        Fred: My concern 
  is you are requiring the preferred quantum exponent to be zero for exact. It 
  should be as close to zero as possible.</P>
  <P class=MsoNormal>        Jim: That is the 
  meaning of preferred quantum exponent. It is not the quantum exponent.</P>
  <P class=MsoNormal><o:p> </o:p></P>
  <DIV>
  <DIV>
  <P class=MsoNormal><SPAN style="COLOR: #212121">Regards,<BR><BR><B>Rajan 
  Bhakta</B><BR>z/OS XL C/C++ Compiler Technical Architect<BR>ISO C Standards 
  Representative (Canada, USA), PL22.11 Chair<BR>C/C++ Compiler 
  Development</SPAN><SPAN 
  style="FONT-SIZE: 10pt; COLOR: #212121"><o:p></o:p></SPAN></P>
  <P class=MsoNormal><A href="mailto:rbhakta@us.ibm.com"><SPAN 
  style="COLOR: #0078d7">rbhakta@us.ibm.com</SPAN></A><SPAN 
  style="FONT-SIZE: 10pt; COLOR: #212121"><o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="COLOR: #212121"> </SPAN><SPAN 
  style="FONT-SIZE: 10pt; COLOR: #212121"><o:p></o:p></SPAN></P>
  <P class=MsoNormal><SPAN style="COLOR: #212121">IBM</SPAN><SPAN 
  style="FONT-SIZE: 10pt; COLOR: #212121"><o:p></o:p></SPAN></P></DIV></DIV>
  <P class=MsoNormal><o:p> </o:p></P></DIV></BLOCKQUOTE></BODY></HTML>