    /*
     *  call-seq:
     *     bv1 ^ bv2    -> xored_bv
     *     bv1.xor(bv2) -> xored_bv
     *
     *  Perform a boolean _xor_ operation on +bv1+ and
     *  +bv2+
     */
    VALUE
    frt_bv_xor(VALUE self, VALUE other)
    {
        BitVector *bv1, *bv2;
        GET_BV(bv1, self);
        GET_BV(bv2, other);
        return Data_Wrap_Struct(cBitVector, NULL, &bv_destroy, bv_xor(bv1, bv2));
    }