示例#1
0
文件: numeric.c 项目: kkkkkt/mruby
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));
}
示例#2
0
文件: numeric.c 项目: kkkkkt/mruby
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));
}
示例#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);
}