10-156
To: J3
From: Robert Corbett
Subject: Interpretation Request: Is ABS ever required to be the
optional IEC 60559 abs?
Date: 2010 May 31
All Fortran references are to J3/10-007.
QUESTION:
Are there any circumstances where the Fortran standard requires
the intrinsic function ABS to be compliant with the function abs
described in the optional portion of IEC 60559?
ANSWER:
No, the Fortran standard does not require the intrinsic function
abs to be compliant with the function abs described in IEC 60559.
DISCUSSION:
I ask the question because I was told during meeting 191 that the
Fortran 2008 standard did impose such as requirement. I cannot
find text in the Fortran standard to support that assertion.
The Fortran standard should not make such an assertion. Some
architectures, such as Oracle's SUN SPARC architecture, provide
efficient support for an IEC 60559 compliant implementation of abs.
For architectures that do not provide such support, the cost of
computing an IEC 60559 compliant abs can be significantly greater
than an implementation that sometimes leaves the sign bit set for
zeros and NaNs.
The example given in Section 14.11.3, page 409, line 26 will be
incorrect for some implementations of ABS if ABS is not required
to comply with the function abs specified in the optional portion
of IEC 60559.
EDITS: