10-155r2
To: J3
From: Robert Corbett/Stan Whitlock
Subject: Interpretation Request: IEEE exceptions for intrinsic
functions
Date: 2010 June 15
NUMBER: F03/0008
TITLE: IEEE exceptions for intrinsic functions
KEYWORDS: IEEE_INVALID, SRQT
DEFECT TYPE: Interpretation
STATUS: J3 consideration in progress
QUESTIONS:
Section 13.7.1, page 325, lines 10-12 states
If an infinite result is returned, the flag IEEE_OVERFLOW
or IEEE_DIVIDE_BY_ZERO shall signal; if a NaN result is
returned, the flag IEEE_INVALID shall signal.
Question (1):
The Fortran 2008 standard does not require a standard-conforming
processor to support IEEE_INVALID [14.3p8, 404:15]. If a
processor does not support IEEE_INVALID, is it required to signal
IEEE_INVALID when a NaN result is returned?
Question (2):
IEC 60559 requires the result of SQRT(+inf) to be +inf without
overflow being signaled. IEC 60559 requires SQRT(qNaN), where qNaN
is a quiet NaN, not to signal an invalid operand exception. Does
Fortran 2008 require SQRT(QNaN) to signal IEEE_INVALID?
ANSWERS:
Question (1): No. If the processor does not support IEEE_INVALID,
it cannot signal IEEE_INVALID.
Question (2): No. The standard does not specify the behavior of
SQRT on qNaN.
DISCUSSION:
EDITS to 10-007:
SUBMITTED BY: Robert Corbett
HISTORY: 10-155 m192 F03/0008 submitted
10-155r1 m192 Fix title
10-155r2 m192 Draft answer