It seems that "equal?" misbehave on bit-vectors when the size is less then 9. Below is a small test case that show this bug? maybe.

Can you guys help to test whether it's only happening on my machine?

#lang racket

(require data/bit-vector)

(define bv1 (make-bit-vector 8 #t))
(define bv2 (make-bit-vector 8 #f))
(equal? bv1 bv2)                       ; => #t
(bit-vector-set! bv1 5 #f)
(equal? bv1 bv2)                       ; => #t


(define bv3 (make-bit-vector 9 #t))
(define bv4 (make-bit-vector 9 #f))
(equal? bv3 bv4)                       ; => #f
(bit-vector-set! bv3 5 #f)
(equal? bv3 bv4)                       ; => #f


Racket version:

$ racket --version
Welcome to Racket v6.0.

$ uname -a
Linux darkstar 3.10.30 #2 SMP Fri Feb 14 19:46:22 CST 2014 x86_64 Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz GenuineIntel GNU/Linux
____________________
 Racket Users list:
 http://lists.racket-lang.org/users

Reply via email to