[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#5916: XFLOAT_DATA and signed zeroes
From: |
Vincent Lefevre |
Subject: |
bug#5916: XFLOAT_DATA and signed zeroes |
Date: |
Sat, 10 Apr 2010 01:39:23 +0200 |
User-agent: |
Mutt/1.5.20-6072-vl-r35499 (2010-04-03) |
Hi,
I don't know whether there's really a bug (I haven't tested the
trunk), but someone pointed a suspicious macro[*]. The change
(on 2009-08-17) is here:
http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=6f0c16bc45815337d520a9393f8de5f9c14a06d4
It is said:
lisp.h (XFLOAT_DATA): Produce an rvalue by adding 0 to the value.
However, adding 0 has another side effect on floats: the 0 is
converted into +0.0 (due to the addition with a double), so that
a -0.0 is transformed into a +0.0.
Could someone try the following?
(/ 1.0 (- 0.0))
The correct result should be -1.0e+INF (negative infinity).
[*]
http://groupes.codes-sources.com/article-emacs-lisp-sera-iee754-fut-0x-p0-toujours-470516.aspx
--
Vincent Lefèvre <vincent@vinc17.net> - Web: <http://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / Arénaire project (LIP, ENS-Lyon)
- bug#5916: XFLOAT_DATA and signed zeroes,
Vincent Lefevre <=