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



Note: I recall that my main complaint is that earlier P1788 drafts
were requiring a correctly-rounded numeric (e.g. floating-point)
dot product, while this is not a standard on the numeric format(s)
associated with the interval types.

On 2012-03-01 08:20:13 -0800, Dan Zuras Intervals wrote:
> 	And I think if we were to make it both mandatory &
> 	exact we would not find ourselves in conflict with
> 	754 (which has it as both optional & of unspecified
> 	quality).  We would merely be exercising that
> 	particular 754 option for 1788 conforming systems.

The problem is the following. Consider a language implementation
with IEEE 754 support and a dot product (Section 9.4) that is not
correctly rounded. Then one wants to add P1788 support to that
language via a 3rd-party software (library, plugin or whatever),
thus without modifying the existing implementation (e.g. because
it is not possible to modify it, as being a 3rd-party software,
and because it would be bad to modify it, as the behavior of
existing applications could be affected). If a correctly-rounded
dot product is *required*, then this means that one would end up
with two dot product functions (both specified by a standard, but
both optional), which is bad, as this could lead to confusion and
portability problems.

> 	Oh, I think we can define an accurate dot product at
> 	level 1 without reference to complete arithmetic.

But the numeric format (and numeric-only operations) specification
is reserved for IEEE 754 (and potentially other standards if not
floating-point). P1788 shouldn't touch the domain of other standards
like IEEE 754 and languages. So, if an accurate dot product is
defined it should only be an *interval* dot product.

Also note: I don't know what you mean by "an accurate dot product at
level 1", because at Level 1, everything is exact, thus accurate.

> 	More to the point I think we should.
> 
> 	Complete arithmetic or any other methods of
> 	implementation just don't belong there.

As I understand it, complete arithmetic is not just an implementation.
It's a fully specified arithmetic (very similar to fixed point).

Note that to have an *interval* dot product, you do not need to
specify a numeric dot product.

-- 
Vincent Lefèvre <vincent@xxxxxxxxxx> - Web: <http://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)