On 2012-02-23 12:09:58 +0100, Ulrich Kulisch wrote:
Am 21.02.2012 14:48, schrieb Vincent Lefevre:
On 2012-02-21 09:14:29 +0100, Ulrich Kulisch wrote:
The dot product is a fundamental operation in Numerical Analysis.
Not for everyone. If it were so important, it would have been
required in IEEE 754-2008. And most languages don't even have
a dot product function.
Vincent:
all vector units provide a dot product and IEEE 754-2008 recommends it.
These dot products are inexact and not of much use for interval arithmetic.
By pipelining the exact dot product comes with the same speed up than the
dot products on conventional vector units. I have no doubts that languages
would support the dot product as soon as the exact dot product or complete
arithmetic is available. IEEE 1788 is supposed to form the future.
I don't disagree if a correctly-rounded *interval* dot product is
recommended by IEEE 1788. But IEEE 1788 mustn't contradict IEEE 754.
If a language provides an IEEE-754 conforming dot product (thus not
necessarily correctly rounded), it shouldn't prevent one from having
an IEEE 1788 conforming interval arithmetic.
If IEEE 1788 specified a correctly-rounded dot product, this would
mean that we could end up with two dot product functions in the
language, one standard, and one a bit less standard (e.g. if IEEE
1788 is made optional by the language). This would be a nightmare
for developers to decide what they should do for portability.
Really, the right solution is to revise IEEE 754.