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

Re: Revised Clause 7 "Flavors"



Michel, P1788

I apologise for the delay in responding, which is due to my teaching semester at Cardiff University having just started.

On 2014 Jan 24, at 21:29, Michel Hack wrote:
> On editorial question for 7.5.3 item 3 (b):  It should always be permitted
> to return a weaker decoration than the theoretical Level 1 value, so instead
> of "is com" I would say "is com, or weaker".  Then add:
> 
>    If the Level 1 decoration can be com, the Level 2 decoration should be
>    com, but depending on the computation sequence it may not be possible
>    to guarantee this, in which case a weaker flavor-defined decoration
>    would be returned.
> 
> (There could then be a cross-reference to 6.4 where such difficulties are
> mentioned.)

Thanks for noting this, which raises several points.
(1a) The Level 1 decorated interval version, see 7.4.2, is the "true" value of an operation in a given flavor. So it seems right that a common evaluation SHALL be decorated com at Level 1.

(1b) I wonder if 7.5.4 "Decorated common evaluations" is best moved to the Level 1 stuff, say as part of 7.4.2. Then in 7.5.3 one can define, and use, a Level 2 form of it very simply I think.

(2) You suggest "is com, or weaker". So far I've avoided any rules about how a flavor constructs its decoration system, in particular:
(2a) I've not said there shall be a partial order "weaker" among decorations.
(2b) I've not said a decoration is defined in terms of a predicate about pairs
  (f,xx) where f is a k-ary point-function and xx a box (in the given
  flavor, of dimension k). This would of course imply (a).

We had serious arguments with Nate about what a decoration "means". I don't think he ever accepted the p_d(f,xx) concept in the (IMO straightforward) way the set-based flavor has it. So I would prefer to leave this unspecified by the standard. 

Is this a mistake? Must the standard at least require (2a) above?

(3) 7.5.3 item 3 (b) says
"The decoration part of y is com if the evaluation *is determined to be* a decorated common evaluation of an arithmetic operation ..."

(emphasis mine). That means "is determined by the implementation to be". It was intended to give the needed wiggle-room. I meant (and this is why I think (1b) above is a good idea):
   "If the implementation can see this is a decorated common evaluation
   at Level 1 AND at Level 2 it manages to enclose the Level 1 result
   in a common interval ...". 

In this case, surely the implementation is stupid to give any decoration except com?

> For 7.5.5, I'm still concerned about the requirement that accuracy modes
> SHALL be linearly ordered.  Would users really be confused by two modes
> that are incomparable because they trade different cost categories for
> tightest accuracy, e.g. space or time?  This is quite common for compiler
> optimization options, for example.

I would like other people's opinion. Meantime I've changed it to "SHOULD be linearly ordered".

John Pryce