Re: re motion 50 (Just to you...)
On 2013-09-19 13:40:40 +0200, Marco Nehmeier wrote:
> E.g. directed rounding toward -oo and +oo is required by IEEE 754
> since 1985 and actually it is not implemented in a satisfying manner
>
> * The most common hardware only supports a global rounding mode.
> Hence, operations with rounding toward -oo or +oo suffer from
> changing the global state and flushing the pipeline
> * IBM Cell supports only round to zero for single precision
> * Java (one of the most common programming languages) only supports
> round to nearest
> * The C++ standard added support of different rounding modes in 2011.
> Hence, it took 26 years to include this feature
> * ...
>
> And additionally other IEEE 754 features are treated in a similar
> manner by the vendors.
> Often full IEEE 754 compliance is realized by software...
Note that even when there's language support, there may be a
lack of compiler support (mainly because the feature is used
by too few people)... For instance, for GCC:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34678
and Clang is even worse. Floating-point doesn't seem to be
their priority:
http://llvm.org/bugs/show_bug.cgi?id=17000
> Finally I can imagine that if we require to much we will frighten
> potential implementers and end up with an ignored standard.
Yes. BTW, this is what might have happened with Clang: Annex F
of ISO C99/C11 is not fully implemented (there are various
difficulties with it), and as a consequence it seems to be ignored
entirely by Clang developers. In particular, floating-point
division by zero is regarded as undefined behavior.
--
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)