    /*
     *  call-seq:
     *     bv1 & bv2    -> anded_bv
     *     bv1.and(bv2) -> anded_bv
     *
     *  Perform a boolean _and_ operation on +bv1+ and
     *  +bv2+
     */
    VALUE
    frb_bv_and(VALUE self, VALUE other)
    {
        BitVector *bv1, *bv2;
        GET_BV(bv1, self);
        GET_BV(bv2, other);
        return Data_Wrap_Struct(cBitVector, NULL, &bv_destroy, bv_and(bv1, bv2));
    }