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

Arrows in "Specification levels" table



Hello P1788

Prof Jacques Carette of McMaster University has not joined the group (as far as I know) but is helping me understand issues to do with semantics of the standard. He has suggested that Table 1 "Specification levels" should have arrows Level 2 -> Level 3 -> Level 4 to complete the picture.

If these are "many to many" or "one to many" relations, they seem vacuous to me. But if they are proper functions, i.e. "many to one", they have genuine content.

A map Level 2 -> Level 3 represents a "canonical representation" of each Level 2 interval datum in a chosen Level 3 data structure. E.g., suppose
   Level 2 is the binary64 interval datums.
   Level 3 is the "neginf, sup" representation of xx = [xlo,xhi] (where nonempty).
   That is, by (XLO, XHI) = (-xlo,xhi).

For most xx, the representation is unique. But
 - If xlo or xhi is zero, should there be a canonical form
   that chooses, say, XLO = XHI = +0 ?
 - For the empty set, if represented as (NaN,NaN), should
   there be a canonical form that chooses specific NaNs?
 - For decimal formats, should there be a canonical form
   that fixes the "quantum"?

Such a canonical form makes sense for interchange formats, but has it any use for specifying or implementing internal computation?

One may ask similar questions about a Level 3 -> Level 4 map as defining a "canonical bitstring", and that gets even more technical (to what physical level are we mapping, is endian-ness involved, etc.?).

John