[Ecls-list] Lots of regressions due to -0.0

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Sat Oct 4 22:48:22 UTC 2008


On Sun, Oct 5, 2008 at 12:42 AM, Raymond Toy <toy.raymond at gmail.com> wrote:
> I don't know what the hash cache is, but I think ANSI CL says -0 and 0
> should hash the same.  The easy way to make that happen is to add 0 to
> the number to be hashed.

ECL keeps a cache of the output produced by subtypep. Until now this
cache was implemented using a vector that was indexed by the hash key
of the input type. The problem is that (DOUBLE-FLOAT -0.0 *) and
(DOUBLE-FLOAT 0.0 *) are different intervals, but according to CL they
have the same EQUAL[P] hash key and also are similar lisp objects
under EQUAL[P]. That is rather unfortunate because we have no reliable
way to compare two intervals using a single CL routine.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28009 (Spain)
http://juanjose.garciaripoll.googlepages.com


More information about the ecl-devel mailing list