More...
Go to the source code of this file.
|
#define | MRB_FIXNUM_SHIFT 1 |
|
#define | MRB_TT_HAS_BASIC MRB_TT_FLOAT |
|
#define | MRB_FIXNUM_FLAG 0x01 |
|
#define | MRB_SYMBOL_FLAG 0x0e |
|
#define | MRB_SPECIAL_SHIFT 8 |
|
#define | MRB_SYMBOL_BITSIZE (sizeof(mrb_sym) * CHAR_BIT - MRB_SPECIAL_SHIFT) |
|
#define | MRB_SYMBOL_MAX (UINT32_MAX >> MRB_SPECIAL_SHIFT) |
|
#define | mrb_float_pool(mrb, f) mrb_word_boxing_float_pool(mrb,f) |
|
#define | mrb_ptr(o) (o).value.p |
|
#define | mrb_cptr(o) (o).value.vp->p |
|
#define | mrb_float(o) (o).value.fp->f |
|
#define | mrb_fixnum(o) ((mrb_int)(o).value.i) |
|
#define | mrb_symbol(o) (o).value.sym |
|
#define | mrb_bool(o) ((o).w != MRB_Qnil && (o).w != MRB_Qfalse) |
|
#define | mrb_fixnum_p(o) ((o).value.i_flag == MRB_FIXNUM_FLAG) |
|
#define | mrb_undef_p(o) ((o).w == MRB_Qundef) |
|
#define | mrb_nil_p(o) ((o).w == MRB_Qnil) |
|
#define | mrb_false_p(o) ((o).w == MRB_Qfalse) |
|
#define | mrb_true_p(o) ((o).w == MRB_Qtrue) |
|
#define | SET_FLOAT_VALUE(mrb, r, v) ((r) = mrb_word_boxing_float_value(mrb, v)) |
|
#define | SET_CPTR_VALUE(mrb, r, v) ((r) = mrb_word_boxing_cptr_value(mrb, v)) |
|
#define | SET_UNDEF_VALUE(r) ((r).w = MRB_Qundef) |
|
#define | SET_NIL_VALUE(r) ((r).w = MRB_Qnil) |
|
#define | SET_FALSE_VALUE(r) ((r).w = MRB_Qfalse) |
|
#define | SET_TRUE_VALUE(r) ((r).w = MRB_Qtrue) |
|
#define | SET_BOOL_VALUE(r, b) ((b) ? SET_TRUE_VALUE(r) : SET_FALSE_VALUE(r)) |
|
#define | SET_INT_VALUE(r, n) |
|
#define | SET_SYM_VALUE(r, v) |
|
#define | SET_OBJ_VALUE(r, v) |
|
|
enum | mrb_special_consts { MRB_Qnil = 0,
MRB_Qfalse = 2,
MRB_Qtrue = 4,
MRB_Qundef = 6
} |
|
See Copyright Notice in mruby.h
◆ SET_INT_VALUE
#define SET_INT_VALUE |
( |
|
r, |
|
|
|
n |
|
) |
| |
Value:do { \
(r).w = 0; \
(r).value.i_flag = MRB_FIXNUM_FLAG; \
(r).value.i = (n); \
} while (0)
◆ SET_OBJ_VALUE
#define SET_OBJ_VALUE |
( |
|
r, |
|
|
|
v |
|
) |
| |
Value:do { \
(r).w = 0; \
(r).value.p = (v); \
} while (0)
◆ SET_SYM_VALUE
#define SET_SYM_VALUE |
( |
|
r, |
|
|
|
v |
|
) |
| |
Value:do { \
(r).w = 0; \
(r).value.sym_flag = MRB_SYMBOL_FLAG; \
(r).value.sym = (v); \
} while (0)