Re: Constructors & decorations
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
Regards
John