bugGNU Common Lisp - Bugs: bug #30079, MINUSP handles float NaN...


bug #30079: MINUSP handles float NaN incorrectly in compiled code

Submitted by:  None
Submitted on:  Tue 08 Jun 2010 05:07:42 AM UTC  
Category:  None Severity:  3 - Normal
Item Group:  None Status:  Fixed
Privacy:  Public Assigned to:  None
Open/Closed:  Closed

Add a New Comment(Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


Thu 21 Nov 2013 03:53:13 PM UTC, comment #1:

Greetings, and thanks for your report! This is fixed in the latest release, 2.6.10.

Camm Maguire <camm>
Project Administrator
Tue 08 Jun 2010 05:07:42 AM UTC, original submission:

In the following, X is floating point infinity, Y is NaN.
MINUSP should return NIL for NaN, and in interpreted code it does, but in compiled code it is incorrect.

(setf si:*print-nans* t)
(defvar x (exp (expt 2 1000)))
(defvar y (- x x))
(defun f (x) (minusp x))
(defun g (x) (minusp x))
(compile 'g)
(f y)
=> NIL (OK)
(g y)
=> T (INCORRECT !!!)



(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by camm (Posted a comment)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.




    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2013-11-21 camm StatusNone => Fixed
        Open/ClosedOpen => Closed

    Back to the top

    Powered by Savane 3.3