J3/13-247 To: J3 From: Malcolm Cohen Subject: Interp F03/0100 Date: 2013 February 14 1. Introduction Interp F03/0100 failed its WG5 ballot with one NO vote, with issues: 1. The standard puts similar but somewhat different sentences in three places, which is inconsistent. Only one sentence (in E editing) is complete while the other two (one for integer editing, and one for F editing) are both incomplete. 2. As to the restriction on output being "NaN" for F editing when w == 0, I'm still not convinced it is to the best benefit to Fortran users given the fact that the majority of the processors today distinguish qNaNs vs. sNaNs. Issue 1 does not seem to be complaining about the edits of this interp, since it makes no change to E or integer editing. Issue 2 definitely has nothing to do with this interp. If change to the output for NaN is required, it should be done as part of a future revision, not an interp. For example, it could be done as part of ISO/IEC/IEEE 60559:2011 conformance. 2. The revised interp ---------------------------------------------------------------------- NUMBER: F03/0100 TITLE: Error in field width for special cases of signed INFINITY output KEYWORDS: formatted output, signed infinity DEFECT TYPE: Erratum STATUS: J3 consideration in progress QUESTION: Is there an error in the description for the output of a IEEE infinity with a sign and a field width of 3 or 8? Fortran 2008, 10.7.2.3.2 paragraph 7, [252:33-34], describes the output of IEEE infinities; this specifies asterisks (field overflow) if the field width is less than 3, and omission of "inity" if the field width is less than 8. However, this does not take into account the fact that there might be a plus or minus sign in the field. The current text also fails to take into account the case of = 0, for both Infinity and NaN values. ANSWER: Yes, there is an error in the special cases. Edits are provided to correctly describe the required field widths for signed infinities. An edit is also provided to repair the description of the output of NaN values. EDITS to 10-007r1: [252:33-34] 10.7.2.3.2p7, Replace "If is ... produced." with "The minimum field width required for output of the form 'Inf' is 3 if no sign is produced, and 4 otherwise. If is greater than zero but less than the minimum required, the field is filled with asterisks. The minimum field width for output of the form 'Infinity' is 8 if no sign is produced and 9 otherwise. If is zero or is less than the minimum required but large enough to produce the form 'Inf', the form 'Inf' is output." [252:37] Same subclause, p8, Replace "If ... askerisks." with "If is greater than zero and less than 3, the field is filled with asterisks. If is zero, the output field is 'NaN'.". SUBMITTED BY: Dick Hendrickson HISTORY: 07-271 m181 F03/0100 submitted 07-271r2 m181 Passed by J3 meeting 07-321 m182 Failed J3 letter ballot #14 07-279 07-340r1 m182 Passed by J3 meeting 08-133r2 m183 Passed by letter ballot #15 08-101 08-164 m184 Failed WG5 ballot #5 N1722-N1726 13-nnn m200 Revised ----------------------------------------------------------------------