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)