07-243R1 To: J3 From: Dick Hendrickson Subject: |exp|>999 and format descriptors Ew.d etc Date: 2007 August 09 1. Edits w.r.t. 07-007r2 [279:26-28]--------------------------------------------------------------- It is specified that the entire output field is filled with asterisks if the edit descriptor specifies an exponent width and the number of digits in the exponent is greater than the specified width. At [282:1-2], [283:1-2], and [284:1-2] it simply says the edit descriptor form that doesn't specify the exponent width shall not be used if |exp| > 999. Apparently an Ew.dE4 descriptor produces a well defined result and an Ew.d is prohibited for an exponent > 999; even though the default exponent field width is effectively 4. What's wrong with filling the field with asterisks? Isn't that what all current processors do? The first sentence of (5) on 279 could be read to mean that only the named descriptors write asterisks if the value is too wide; reverse the sense of the sentence. The edit also changes the sentence to use "E" instead of "Ew.d Ee". This is an incompatible change from F2003 in the sense that previously a program was not allowed to output a value with an exponent > 999 using an Ew.d descriptor. With this change, a previously non-conforming program now becomes conforming with a specific interpretation—all asterisks. Similar comments apply to the D, ES, EN, and G descriptors. To cover the change we could insert a paragraph something like [3:18+] Insert a paragraph "Previously, it was not allowed to output a value using an Ew.d, Dw.d, ENw.d, ESw.d or Gw.d edit descriptor if the absolute value of the exponent exceeded 999. This standard now defines the results." however, I don't think we normally list previously undefined/disallowed things that now have a meaning as an incompatibility since we'd have to list every new feature. Edits: Delete the sentence "The edit ... 999." at [282:1-2], [283:1-2], and [284:1-2]. [279:26] Replace the first sentence of item (5) by "On output, if an exponent exceeds its specified or implied width using the D, E, EN, ES or G edit descriptors, or if the number of characters produced exceeds the field width, the processor shall fill the entire field of width with asterisks."