Thread Links | Date Links | ||||
---|---|---|---|---|---|
Thread Prev | Thread Next | Thread Index | Date Prev | Date Next | Date Index |
Dan Zuras Intervals wrote:
Date: Tue, 28 Sep 2010 14:26:23 +0200 From: Arnold Neumaier <Arnold.Neumaier@xxxxxxxxxxxx>To: Dan Zuras Intervals <intervals08@xxxxxxxxxxxxxx>, 1788 <stds-1788@xxxxxxxxxxxxxxxxx>Subject: Re: Comparisons and decorations, part 2 Dan Zuras Intervals wrote:Then let me suggest that there exist a decoration for empty. Or, at least, some combination of the existing decorations that implies empty. That way we do not NEED a representation for empty within the interval part of a 1788 interval. And we will have anything + empty = empty fall out to be both fast & easy no matter what we use for empty so long as the decoration makes it so.Since bare[1,1]/bare[0,0] or sqrt(bare[-2,-1]) must be empty, this conflicts with the need of a fast mode for arithmetic operations for bare intervals.On the contrary, it is consistent with that. I was discussing fast & easy intervals for which the interpretation of empty is to be found in the decoration. That you might need some further restriction, say your favorite [NaN,NaN], for bare intervals is still consistent. And, should we feel that it is the appropriate way to go within that context, I have no objection.
It seems that you suggest the following: (i) Constructors always create decorated intervals, never bare ones. Bare intervals are created by stripping decorated ones using the operator Bare. (ii) The empty interval Empty is represented by [NaN,NaN] when bare, and by ([NaN,NaN],IsEmpty) when created by a constructor. However, _every_ decorated interval of the form ([any,any'],IsEmpty) is interpreted as Empty. (iii) The stripping of a decorated interval may modify its bare part iff the semantics necessitates it. In particular, Bare(([any,any'],IsEmpty)) = [NaN,NaN]. (iv) Arithmetic operations on decorated intervals always preserve an IsEmpty decoration. This indeed captures the necessary behavior of Empty, and improves the efficiency of propagating decorated intervals in general, while not harming fast expression evaluation for bare intervals. However, it still means that bare[a,b] interior bare[c,d] needs a branch to handle bareEmpty.