J3/97-176 Date: May 13, 1997 To: J3 From: Interval 1 Subject: Interval Exceptions on Non-IEEE Machines Reference: J3 / 97-172, J3 / 97-173 Papers J3 / 97-172 and J3 / 97-173 map out user-friendly and efficient exception handling for processors that support IEEE infinities and IEEE NaN's. The question arose: What are interval exceptions on machines without the requisite IEEE 754 support, and how are they handled? On machines without IEEE infinities and IEEE NaN's, intersection of disjoint intervals is non-standard conforming, and the result is processor-dependent. Similarly, division by an interval containing zero is non-standard conforming, and the result is processor-dependent on machines that do not support IEEE infinities and IEEE NaN's. On machines that do not have infinities, an overflow that occurs during an interval operation may result in lack of containment!!! (This is unacceptable.) For example, an overflow may result in an interval of the form [0,HUGE(X)], where HUGE(X)/[2,2] is well-defined. Repeated division by thin intervals with absolute value greater than 1 may then result in an interval of the form [0,1], and [0,1] cannot contain the exact result. There are two possibilities for handling this: 1. programs that cause such overflows on such machines are not standard-conforming. 2. We define a new symbol, INFINITY, that behaves like IEEE infinity on non-IEEE machines. Which possibility does J3 prefer? Exceptions for interval operations that occur on machines that support IEEE infinities and NaN's are specified in J3/97-172 and J3/97-173.