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

I vote NO on Motion P1788/M0024.02:RoundedOperations



Dear P1788

Putting something on the lines of Prof Kulisch's motion would, I think, please our "upline" Bob Davis in view of his 2007 letter (attached) that was seminal in getting this effort underway. And, I support the aims of the motion. But I also agree with Dan Zuras:
On 15 May 2011, at 18:57, Dan Zuras Intervals wrote:
> 	Don't get me wrong:  I think what Prof Kulisch has
> 	in mind is a good idea.  The last machine I worked
> 	on before I retired had opcodes for this.  It is
> 	just not something that we have the right to demand
> 	(shall) or even ask (should) of our implementers.
> 
> 	So I vote no.

Personally I prefer Michel Hack's simpler wording below. Maybe he and Prof Kulisch can produce a revised motion on these line.
> Early during the discussion I had proposed a much shorter description
> that gets to the essence of the proposal; Hossam Fahmy referred to it,
> so let me repeat it here:  (The complete post was dated April 18)
> 
>  Every (essential) IEEE-754 arithmetic operation shall be provided
>  in a form with an explicit rounding direction, in addition to the
>  usual forms that respect a static global rounding direction.  All
>  rounding modes provided for a given radix shall also be supported
>  in this manner.


However we must bear in mind
On 16 May 2011, at 12:34, Vincent Lefevre wrote:
> And more importantly, implementations of floating-point operations
> belong to IEEE 754, not P1788.

So, where and how would the requirement expressed by Ulrich's words, or Michel's words, fit into the P1788 document? It's not about interval operations as such, but about how to implement them. I can see it going into any of

- A "desirable things" section, either in the introductory material or in an annex.

- Level 3, which is about the internal structure of intervals, and how interval operations are implemented in terms of FP operations on their internal fields. Here the standard might include implementations of the interval operations at a pseudo-code level in terms of Ulrich's operations, e.g. Matlab-style
 function z = plus(x,y) %overloads +
   z.inf = x.inf +< y.inf
   z.sup = x.sup +> y.sup;
 end
That requires a keen volunteer! We can only say these operations SHOULD be implemented by a system, whether hardware or a hardware-software mix -- SHALL is not our business, as Dan & Vincent say. 

- A Language Level. In essence we already decided P1788 shall have such a thing, holding material about allowed expression rearrangements, on the lines of IEEE754-2008's Clause 10. We could add to it that P1788 compliant language implementations SHOULD include operations with an explicit rounding direction. I don't see how we can make it a SHALL.

It seems clear to me WHAT is being asked, but not WHO (systems or people) are being asked to do it. So I vote no to the current motion and hope for a clearer statement. Or maybe I am just confused.

John Pryce


Attachment: IFIPWG-IEEE754R.pdf
Description: Adobe PDF document