[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-janitors] #791: integer? returns true for special flonum types
From: |
Chicken Trac |
Subject: |
[Chicken-janitors] #791: integer? returns true for special flonum types on 64-bits machines |
Date: |
Tue, 21 Feb 2012 18:21:45 -0000 |
#791: integer? returns true for special flonum types on 64-bits machines
-------------------------------+--------------------------------------------
Reporter: sjamaan | Owner: ckeen
Type: defect | Status: new
Priority: major | Milestone: 4.8.0
Component: core libraries | Version: 4.7.x
Keywords: flonums, integers |
-------------------------------+--------------------------------------------
The C_i_integerp function doesn't first unpack flonum values before
checking if they represent infinity or NaN. On x86-64, this means that
{{{(integer? +nan.0) => #t}}} and {{{(integer? +inf.0) => #t}}}.
A suggested initial patch is at http://paste.call-
cc.org/paste?id=2d5b17c595ae79bacbe36c52d4613ccd3e0373a2, but Christian
said he'd work on a proper patch which includes changes to the testsuite
to catch these errors (for the other number predicates too).
--
Ticket URL: <http://bugs.call-cc.org/ticket/791>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Chicken-janitors] #791: integer? returns true for special flonum types on 64-bits machines,
Chicken Trac <=