Re: Re: pika 0.1pre4 -- equality, hashing, symbols

Tom Lord <lord-1tv/[email protected]> Sun, 30 Nov 2003 19:35:57 -0800 (PST)
Newsgroups gmane.lisp.scheme.pika.devel
Message-ID <[email protected]>
    > From: Matthew Dempsky <[email protected]>

    > I just resync'd with your branch and running 'make test' failed one of
    > the unit tests:

    > ================ unit-hash-value tests ================
    > /home/jivera/wd/pika-0.1pre2/src/scm/tests/hash-value-tests/unit-hash-value.c:149:botched invariant
    >     hashq_values[x] != hashq_values[y]
    > PANIC: exiting on botched invariant

    > I'll take a look at it, but I haven't grokked the hashing code yet
    > (and I know I haven't touched it in my branch at all yet).

You need to update src/hackerlab, too.

That particular unit test is slightly bogus in theory -- it fails if
there are hash collisions among a small set of objects.  However, it
should pass with very high probability and so, temporarily, serves as
a sanity check on the hashing functions in libhackerlab.

It failed that test initially:  the hashes for () and #t collided.
That should be a platform-independent result.   libhackerlab was
changed accordingly and after you update that too, it should pass.

-t