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.