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