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: NoneSeverity: 3 - Normal
Item Group: NoneStatus: Fixed
Privacy: PublicAssigned 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 File(s):

No files currently attached


Depends on the following items: None found

Items that depend on this one: None found


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

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

    Only logged-in users can vote.


    Please enter the title of George Orwell's famous dystopian book (it's a date):



    Follow 2 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Thu 21 Nov 2013 03:53:13 PM UTCcammStatusNone=>Fixed

    Back to the top

    Powered by Savane 3.1-cleanup1