J3/03-146 To: J3 From: UK Fortran panel Subject: Edits for UK comment MTC8 (IEEE_CLASS_TYPE extension) Date: 13 March 2003 1. Introduction Comment MTC8 was Add the value IEEE_NOT_IEEE to IEEE_CLASS_TYPE This is needed for implementing the module on systems which are basically IEEE, but do not implement all of it. It is analogous to IEEE_OTHER for IEEE_ROUND_TYPE. It might be needed, for example, if an unformatted file were written in a program executing with gradual underflow enabled and read with it disabled. 2. Discussion The function IEEE_CLASS is prohibited from (a) returning IEEE_POSITIVE_INF/IEEE_NEGATIVE_INF when IEEE_SUPPORT_INF is not true. (b) returning IEEE_POSITIVE_NAN/IEEE_NEGATIVE_NAN when IEEE_SUPPORT_NAN is not true. (c) returning IEEE_POSITIVE_DENORMAL/IEEE_NEGATIVE_DENORMAL when IEEE_SUPPORT_DENORMAL is not true. Therefore an extra return value is needed to indicate when the argument value is of a not (fully) supported classification. 3. Edits to 02-007r3 [356:31] Before "." insert ", and IEEE_OTHER_VALUE". {BTW, the current text is missing the conjunction.} [363:20-364:1] Replace by "<> The result value shall be IEEE_SIGNALING_NAN or IEEE_QUIET_NAN if IEEE_SUPPORT_NAN(X) has the value true and the value of X is a signaling or quiet NaN, respectively. The result value shall be IEEE_NEGATIVE_INF or IEEE_POSITIVE_INF if IEEE_SUPPORT_INF(X) has the value true and the value of X is negative or positive infinity, respectively. The result value shall be IEEE_NEGATIVE_DENORMAL or IEEE_POSITIVE_DENORMAL if IEEE_SUPPORT_DENORMAL(X) has the value true and the value of X is a negative or positive denormalized value, respectively. The result value shall be IEEE_NEGATIVE_NORMAL, IEEE_NEGATIVE_ZERO, IEEE_POSITIVE_ZERO, or IEEE_POSITIVE_NORMAL if value of X is negative normal, negative zero, positive zero, or positive normal, respectively. Otherwise, the result value shall be IEEE_OTHER_VALUE." {We have taken the opportunity to say explicitly that IEEE_QUIET_NAN is returned for a quiet Nan, etc.} [364:2+] Add note: "NOTE 14.8a. The result value IEEE_OTHER_VALUE is needed for implementing the module on systems which are basically IEEE, but do not implement all of it. It might be needed, for example, if an unformatted file were written in a program executing with gradual underflow enabled and read with it disabled." ===END===