- 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).