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

Re: Motion 31: V04.2 Revision of proposed Level 1 text



Ulrich, and Van

On 13 Feb 2012, at 11:16, Ulrich Kulisch wrote:
> Let me summarize what has been said: To adapt the computer more to the needs of interval arithmetic two requirements are needed:
> 
> I.  fast hardware support for interval arithmetic (easy obtainable on existing processors), and
> II. a fast and exact multiply and accumulate operation (continued addition), or what is equivalent to it, an exact scalar product (for the double precision format. For a simple sketch see the poster). 
> 
> Both are basic arithmetic operations for interval arithmetic and should be listed as such in the document.
> 
> Let me make another remark: Arithmetic for extended real intervals (closed and connected sets of real numbers) is free of exceptions. So a standard for interval arithmetic could be greatly simplified by a more strict separation form IEEE754 for floating-point arithmetic (no automatic type transfer from floating-point to interval).

I agree with much that you write in this email, but this question still concerns me: How are the features specified in Motion 9 realised at the User Program level? Must it be possible to define Complete Format (CF) variables? The specification that completeAddition must be able to evaluate
  CF = CF + CF,   i.e. add two CF values to get a CF result, 
seemingly implies that a language must support such variables. Whereas if one weakens this to only require
  CF = CF + FP,   i.e. add a floating point value to a CF values to get a CF result,
one can get by with just a single CF object that acts as an accumulator.

In the former case a language needs a constructor for CF objects, and variables referencing them, and presumably assignments to such variables. Hence, I fear, it complicates P1788 as we must specify a CF constructor?

In the latter case it doesn't need a constructor or CF variables as the accumulator can be "just there"; and a "reset accumulator to zero" operation takes the place of assignment. Like a cash till.

How does it work in XSC?

John