/*
* 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;
}