/* * call-seq: * bv[i] = bool -> bool * * Set the bit and _i_ to *val* (+true+ or * +false+). */ VALUE frt_bv_set(VALUE self, VALUE rindex, VALUE rstate) { BitVector *bv; int index = FIX2INT(rindex); GET_BV(bv, self); if (index < 0) { rb_raise(rb_eIndexError, "%d < 0", index); } if (RTEST(rstate)) { bv_set(bv, index); } else { bv_unset(bv, index); } return rstate; }