GNU bug report logs - #5916
XFLOAT_DATA and signed zeroes

Previous Next

Package: emacs;

Reported by: Vincent Lefevre <vincent <at> vinc17.net>

Date: Fri, 9 Apr 2010 23:54:02 UTC

Severity: normal

Done: Ken Raeburn <raeburn <at> raeburn.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Vincent Lefevre <vincent <at> vinc17.net>
To: 5916 <at> debbugs.gnu.org
Subject: bug#5916: XFLOAT_DATA and signed zeroes
Date: Sat, 10 Apr 2010 01:39:23 +0200
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 <at> 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)





This bug report was last modified 15 years and 13 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.