Thread Links Date Links
Thread Prev Thread Next Thread Index Date Prev Date Next Date Index

Re: Discussion paper: what are the level 2 datums?



Nate, and anyone else who can elucidate

My sister is staying for a few days so I send this as I wrote it before Nate's Oct 6 email on bare decorations, which I haven't time to absorb yet. Nate, forgive me if your explanation answers many of my concerns. Also, if my language is a bit OTT.

On 5 Oct 2010, at 18:17, Nate Hayes wrote:
> In my opinion, there is a large degree of compatibility and overlap between the proposed NaI and a bare decoration. In other words, the NaI is mostly serving the same purpose as a bare decoration. This shouldn't come as too much suprise, because it was the intention of Motion 8 that a "bare decoration" is NaI.

This brings into the open the fact that despite much study I do not understand what a bare decoration (BD) is, as Nate understands it.

To me, Nate's BD seems inconsistent, in both its nature and its purpose.

It is clear from Motion 8 §2.1 that bare decoration is a _type_ in the same way as bare interval is a type, but Nate seems to treat it as a _value_.

For illustration, suppose we have agreed on these decoration prits as a level 2 model:
  domain, a tetrit d with values 0 to 3.
  continuous, a bit c with values 0, 1.
  well-formed, a bit w with values 0,1.

Assume types REAL, TETRIT, BIT have been defined. Suppose the interval part ivl is in inf-sup format with two REAL's. Then we can define
  typedef struct{REAL inf; REAL sup;} INTERVAL; //bare interval
  typedef struct{TETRIT d; BIT c; BIT w;} DECORATION; //bare decoration
  typedef struct{INTERVAL ivl; DECORATION dcw} DINTERVAL; //decorated interval
  ...
  DINTERVAL XX ...;

If REAL means binary64, and the decoration part dcw is held in 1 byte, then a whole decorated interval occupies 17 bytes.

That is the only semantics a sane person can get from Motion 8 §2.1 and preceding, and anything that contradicts it must be WRONG.

Further, the Motion 8 forgetful operation that "drops" the decoration part is quite unambiguous. It simply extracts the interval field, and conversely for dropping the interval part. Equivalent to:
  INTERVAL xx = XX.ivl;
  DECORATION dec = XX.dcw;

In the above, the bare decoration dec is a 1-byte _variable_ from which I can extract whatever values are currently in d,c,w. And I can re-assemble XX from xx and dec if I want.
(Probably the API must prevent the application programmer doing these things if w is false, because that flags an ill-formed object.)

Nate, if you want your BD concept to mean something different from that, then don't call it "bare decoration". If it's a specific _value_, packed into a bare interval's 16 bytes, as you seem to indicate, then call it "bare interval NaI".

Regards

John