Dan & P1788
On 23 Feb 2010, at 12:17, Dan Zuras Intervals wrote:
John Pryce had written:
I believe not. I think the intention of Motion 8 is that once
an interval is set notValid, _all_ its other attributes become
meaningless. It has fallen into a black hole. So a V- interval
is essentially the same as NaI. It follows that all query-functions
on it should give results of maximum meaninglessness:
- Its other decorations should be D0 C0 B0.
- Its lower & upper bounds, midpoint, radius etc., should all
return NaN.
So it seems that you are reserving the interpretation
of 'Valid' things to those things which are imported
into intervals from other arithmetics. Constructors,
converters, & the like.
Yes.
Does that not seem like a particularly narrow use for
a decoration? Would not 'Defined' do as well?
The Motion 8.02 document says on p3:
-- inv is the decoration of an interval created by an invalid
conversion
...
we may have ...
(X,ok) \union (Empty,inv) = (X,inv)
as an unambiguous version of X \union NaI = NaI.
This seems to me to agree with my interpretation.
'Defined' has a quite different and specific purpose, to do with the
applicability of fixed-point theorems.
... I say this because decoration bits might end up being
expensive things some day. If we are successful &
intervals find their way into hardware, decoration bits
will become state bits. They will have interlocks &
busses devoted to them. They will be saved on context
switch. They will become involved in issues of
parallelism & cache coherency. We should make sure
they are useful.
I am not a hardware guy so maybe I have the wrong end of the stick.
But didn't Nate argue for decorations, in contrast to global flags,
precisely on the grounds that
- they are fast because they are attached to the individual data
item, hence
- they don't need to be in state bits
- they don't need interlocks or busses
- they are NOT part of a context switch
- they don't affect parallelism & cache coherency more than any other
kind of data