Ejemplo n.º 1
0
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));
}
Ejemplo n.º 2
0
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));
}
Ejemplo n.º 3
0
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);
}