static inline void fix_shift_get_width(mrb_state *mrb, mrb_int *width) { mrb_value y; mrb_get_args(mrb, "o", &y); *width = mrb_fixnum(bit_coerce(mrb, y)); }
static mrb_value fix_xor(mrb_state *mrb, mrb_value x) { mrb_value y; mrb_get_args(mrb, "o", &y); y = bit_coerce(mrb, y); return mrb_fixnum_value(mrb_fixnum(x) ^ mrb_fixnum(y)); }
static mrb_value fix_or(mrb_state *mrb, mrb_value x) { mrb_value y; mrb_int val; mrb_get_args(mrb, "o", &y); y = bit_coerce(mrb, y); val = mrb_fixnum(x) | mrb_fixnum(y); return mrb_fixnum_value(val); }