Ignore:
Timestamp:
Jul 9, 2020, 8:51:43 AM (4 years ago)
Author:
coas-nagasima
Message:

mrubyを2.1.1に更新

Location:
EcnlProtoTool/trunk/mruby-2.1.1
Files:
1 edited
1 moved

Legend:

Unmodified
Added
Removed
  • EcnlProtoTool/trunk/mruby-2.1.1/include/mruby/boxing_no.h

    r321 r439  
    1 /*
    2 ** mruby/boxing_no.h - unboxed mrb_value definition
     1/**
     2** @file mruby/boxing_no.h - unboxed mrb_value definition
    33**
    44** See Copyright Notice in mruby.h
     
    99
    1010#define MRB_FIXNUM_SHIFT 0
    11 #define MRB_TT_HAS_BASIC MRB_TT_OBJECT
     11#define MRB_SYMBOL_SHIFT 0
     12
     13union mrb_value_union {
     14#ifndef MRB_WITHOUT_FLOAT
     15  mrb_float f;
     16#endif
     17  void *p;
     18  mrb_int i;
     19  mrb_sym sym;
     20};
    1221
    1322typedef struct mrb_value {
    14   union {
    15     mrb_float f;
    16     void *p;
    17     mrb_int i;
    18     mrb_sym sym;
    19   } value;
     23  union mrb_value_union value;
    2024  enum mrb_vtype tt;
    2125} mrb_value;
    2226
     27#ifndef MRB_WITHOUT_FLOAT
    2328#define mrb_float_pool(mrb,f) mrb_float_value(mrb,f)
     29#endif
    2430
    2531#define mrb_ptr(o)      (o).value.p
    2632#define mrb_cptr(o)     mrb_ptr(o)
     33#ifndef MRB_WITHOUT_FLOAT
    2734#define mrb_float(o)    (o).value.f
     35#endif
    2836#define mrb_fixnum(o)   (o).value.i
    2937#define mrb_symbol(o)   (o).value.sym
     
    4048#define SET_BOOL_VALUE(r,b) BOXNIX_SET_VALUE(r, b ? MRB_TT_TRUE : MRB_TT_FALSE, value.i, 1)
    4149#define SET_INT_VALUE(r,n) BOXNIX_SET_VALUE(r, MRB_TT_FIXNUM, value.i, (n))
     50#ifndef MRB_WITHOUT_FLOAT
    4251#define SET_FLOAT_VALUE(mrb,r,v) BOXNIX_SET_VALUE(r, MRB_TT_FLOAT, value.f, (v))
     52#endif
    4353#define SET_SYM_VALUE(r,v) BOXNIX_SET_VALUE(r, MRB_TT_SYMBOL, value.sym, (v))
    4454#define SET_OBJ_VALUE(r,v) BOXNIX_SET_VALUE(r, (((struct RObject*)(v))->tt), value.p, (v))
Note: See TracChangeset for help on using the changeset viewer.