J3/97-228

J3 Recommendation Regarding Interval Arithmetic

Recommendation: J3 recommends that the Fortran 2000 requirement on interval arithmetic be changed to "Language Enhancements Needed for Future Support of Interval Arithmetic".

Rationale: After considerable technical effort over the past two years, J3 is forced to conclude that (1) standardizing interval arithmetic is premature and (2) there are non-trivial deficiencies in the base Fortran standard for implementing interval arithmetic well.

As for the first point, there currently are no commercial Fortran implementations of interval arithmetic, nor does there appear to be any producer of Fortran implementations that favors standardizing interval arithmetic at this time. Moreover, interval arithmetic and its incorporation into Fortran has been somewhat of a moving target; indeed, since J3 has been working on interval arithmetic, important details of potential specifications appear to have changed.

On the second point, various ways of incorporating interval arithmetic into Fortran have been considered by J3; for example: as a new intrinsic data type, as an encapsulated derived type, and along the lines indicated in WG5-N1303. Significant deficiencies in the base language currently prevent quality implementations using any of these approaches; examples include:

(a) greater need for control of "interline assignment optimization"
        (as touched upon by papers 97-158, 97-198, and 97-199)

(b) more control of rounding modes in both operations and I/O

(c) deficiencies in the derived type abstraction mechanisms

For these reasons J3 requests permission from WG5 to make the recommended change in the nature of this requirement, focusing for Fortran 2000 upon repairing the deficiencies in the Fortran base language in order to facilitate accommodating interval arithmetic in a future version of the standard.