chickadee » srfi-178 » bitvector-and!

bitvector-and bvec1 bvec2 bvec ...procedure
bitvector-and! bvec1 bvec2 bvec ...procedure
bitvector-ior bvec1 bvec2 bvec ...procedure
bitvector-ior! bvec1 bvec2 bvec ...procedure
bitvector-xor bvec1 bvec2 bvec ...procedure
bitvector-xor! bvec1 bvec2 bvec ...procedure
bitvector-eqv bvec1 bvec2 bvec ...procedure
bitvector-eqv! bvec1 bvec2 bvec ...procedure

These operations are associative.

The bitvector-eqv procedure produces the complement of the bitvector-xor procedure. When applied to three arguments, it does not produce a #t value everywhere that a, b and c all agree. That is, it does not produce

(bitvector-ior (bitvector-and a b c)
               (bitvector-and (bitvector-not a)
                              (bitvector-not b)
                              (bitvector-not c)))

Rather, it produces (bitvector-eqv a (bitvector-eqv b c)) or the equivalent (bitvector-eqv (bitvector-eqv a b) c).