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/src/enum.c

    r331 r439  
    66
    77#include <mruby.h>
     8#include <mruby/proc.h>
     9
     10/* internal method `__update_hash(oldhash, index, itemhash)` */
     11static mrb_value
     12enum_update_hash(mrb_state *mrb, mrb_value self)
     13{
     14  mrb_int hash;
     15  mrb_int index;
     16  mrb_int hv;
     17
     18  mrb_get_args(mrb, "iii", &hash, &index, &hv);
     19  hash ^= ((uint32_t)hv << (index % 16));
     20
     21  return mrb_fixnum_value(hash);
     22}
    823
    924void
    1025mrb_init_enumerable(mrb_state *mrb)
    1126{
    12   mrb_define_module(mrb, "Enumerable");  /* 15.3.2 */
     27  struct RClass *enumerable;
     28  enumerable = mrb_define_module(mrb, "Enumerable");  /* 15.3.2 */
     29  mrb_define_module_function(mrb, enumerable, "__update_hash", enum_update_hash, MRB_ARGS_REQ(3));
    1330}
    14 
Note: See TracChangeset for help on using the changeset viewer.