Rules for numeric data edit descriptors on output
Characters are right-justified in the field.
When the number of characters in a field is less than the field width, leading blanks fill the remaining field space.
When the number of characters in a field is greater than the field width, or if an exponent exceeds its specified width, asterisks fill the entire field space.
A minus sign prefixes a negative value. A positive or zero value does not receive a plus sign prefix on output, unless you specify the S, SP, or SS edit descriptors.
- If you specify the signedzero suboption,
the output field contains a minus sign for a negative value, even
if that value is negative zero. This behavior conforms to the Fortran
95, Fortran 2003, and Fortran 2008 standards.
XL Fortran does
not evaluate a REAL(16) internal value of
zero as a negative zero. 
- If you specify the nosignedzero suboption, a minus sign is not written to the output field for a value of zero, even if the internal value is negative.
The EN and ES edit descriptors output a minus sign when the value is negative for the signedzero and nosignedzero suboptions.
Output of IEEE Exceptional Values
XL Fortran supports output of IEEE exceptional values for real and complex editing. Output of IEEE exceptional values can be Fortran 2003 standard compliant or compatible with previous releases of XL Fortran. A new compiler option and runtime option control the output of IEEE exceptional values. The -qxlf2003=oldnaninf compiler option will output IEEE exceptional values like previous releases of XL Fortran; whereas, -qxlf2003=nooldnaninf will output IEEE exceptional values in accordance with the Fortran standard. In addition to the compiler option, a new runtime option, naninfoutput, can force the output of IEEE exceptional values to be Fortran 2003 standard compliant or compliant to the previous releases of XL Fortran. For more information on the naninfoutput runtime option see: Running XL Fortran programs section of the XL Fortran Compiler Reference. The F, E, EN, ES, D, G, and Q edit descriptors support the output of IEEE exceptional values.
Output of IEEE exceptional values under real and complex editing are governed by the field width of the real or complex edit descriptor. IEEE exceptional values are case sensitive during output.
Fortran 2003 Standard Output
IEEE infinity is output as 'Inf'. It can be preceded by as many blanks as necessary to be right justified. If the internal value is positive infinity, it can also be directly preceded by an optional plus sign if the field width allows for it. If the field width is less than three, asterisks are output instead. However, if the SIGN= specifier has a value of 'PLUS' or the 'sp' descriptor is used, then the plus sign is mandatory and the minimum field width is 4. If the internal value is negative infinity, it must be preceded by a negative sign. The minimum field width is 4. If the field width is less than four, asterisks are output instead.
IEEE Nan is output as 'NaN'. It can be preceded by as many blanks as necessary to be right justified. If the field width is greater than or equal to five, the standard allows for zero or more alphanumeric characters in parentheses to optionally follow the 'NaN'. XL Fortran will output 'NaN(Q)' for a quiet NaN and 'NaN(S)' for a signaling NaN if the field width is greater than five, otherwise only a 'NaN' is output. If the field width is less than three, asterisks are output instead.
Previous XL Fortran Output
IEEE infinity is output as 'INF'. It can be preceded by as many blanks as necessary to be right justified. If the field width is less than three, asterisks are output instead.
IEEE NaN is output as 'NaNQ' for a quiet NaN and 'NaNS' for a signaling NaN. It can also be directly preceded by an optional sign. It can be preceded by as many blanks as necessary to be right justified. If the field width is less than four, asterisks are output instead.


