示例#1
0
文件: numeric.c 项目: ak-mochi/mruby
static mrb_value
flo_rev(mrb_state *mrb, mrb_value x)
{
  int64_t v1;
  mrb_get_args(mrb, "");
  v1 = (int64_t)mrb_float(x);
  return int64_value(mrb, ~v1);
}
示例#2
0
文件: numeric.c 项目: ak-mochi/mruby
static mrb_value
flo_xor(mrb_state *mrb, mrb_value x)
{
  mrb_value y;
  int64_t v1, v2;
  mrb_get_args(mrb, "o", &y);

  v1 = (int64_t)mrb_float(x);
  v2 = value_int64(mrb, y);
  return int64_value(mrb, v1 ^ v2);
}
示例#3
0
long int32_value(char *src, cell x) {
	long long	v = int64_value(src, x);
	long		w;
	char		msg[128];

	w = (long) v;
	if (v != w) {
		sprintf(msg, "%s: int32 too big", src);
		error(msg, x);
	}
	return w;
}