summaryrefslogtreecommitdiffhomepage
path: root/src/etc.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-05-26 05:26:50 -0700
committerYukihiro "Matz" Matsumoto <[email protected]>2013-05-26 05:26:50 -0700
commitec3a5f33ba8b52fc9d5ee21cdb0a689622608f98 (patch)
treea3c25239fb5afe2a33708e38d185a142f1c543a3 /src/etc.c
parentd78f23d28b4706e58622493de60e17818b491fde (diff)
parente720782f815b809a692818851582be019afe52a9 (diff)
downloadmruby-ec3a5f33ba8b52fc9d5ee21cdb0a689622608f98.tar.gz
mruby-ec3a5f33ba8b52fc9d5ee21cdb0a689622608f98.zip
Merge pull request #1266 from kimushu/feature/word-boxing
Add MRB_WORD_BOXING mode (represent mrb_value as a word)
Diffstat (limited to 'src/etc.c')
-rw-r--r--src/etc.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/etc.c b/src/etc.c
index f2ff34fec..2aee0f0f7 100644
--- a/src/etc.c
+++ b/src/etc.c
@@ -180,3 +180,25 @@ mrb_obj_id(mrb_value obj)
}
}
+#ifdef MRB_WORD_BOXING
+mrb_value
+mrb_float_value(mrb_state *mrb, mrb_float f)
+{
+ mrb_value v;
+
+ v.value.p = mrb_obj_alloc(mrb, MRB_TT_FLOAT, mrb->float_class);
+ v.value.fp->f = f;
+ return v;
+}
+
+mrb_value
+mrb_voidp_value(mrb_state *mrb, void *p)
+{
+ mrb_value v;
+
+ v.value.p = mrb_obj_alloc(mrb, MRB_TT_VOIDP, mrb->object_class);
+ v.value.vp->p = p;
+ return v;
+}
+#endif /* MRB_WORD_BOXING */
+