Interval arithmetic is useful in automatically verified computations, that is, in computations in which the algorithm itself rigorously proves that the answer must lie within certain bounds. In addition to rigor, interval arithmetic also provides a simple and sometimes sharp method of bounding ranges of functions for global optimization and other tasks. Convenient use of interval arithmetic requires an interval data type in the programming language. Although various packages supply such a data type, previous ones are machine specific, obsolete, and unsupported, for languages other than Fortran, or commercial. The Fortran 90 module INTERVAL_ARITHMETIC provides a portable interval data type in Fortran 90. This data type is based on two double-precision real Fortran storage units. Module INTERVAL_ARITHMETIC uses the Fortran 77 library INTLIB (ACM TOMS Algorithm 737) as a supporting library. The module has been employed extensively in the author's own research.
Categories and Subject Descriptors: D.3.2 [Programming Languages]: Language Classifications—Fortran 90; G.1.0 [Numerical Analysis]: General—computer arithmetic; error analysis; numerical algorithms
General Terms: Algorithms, Languages
Additional Key Words and Phrases: Interval arithmetic, operator overloading, portability