summaryrefslogtreecommitdiffhomepage
path: root/src/hash.c
AgeCommit message (Collapse)Author
2015-10-20Remove obvious warnings from docsSeba Gamboa
2015-10-20Increasing docs coverageSeba Gamboa
2015-09-10avoid unnecessary string duplications by checking the frozen flagKazuho Oku
2015-09-10freeze the hash key (fixes #2945)Kazuho Oku
2014-09-12constify pointer from RARRAY_PTR to detect potential write barrier bugs.Yukihiro "Matz" Matsumoto
if you see compiler errors due to this commit, you'd better to use array-modifying functions, e.g. mrb_ary_set() or mrb_ary_push(), otherwise you might see nasty GC bugs in the future. if you are sure what you are doing, replace `RARRAY_PTR(ary)` by `mrb_ary_ptr(ary)->ptr`. but be warned.
2014-08-27Add a missing space after ",".Tatsuhiko Kubo
2014-08-13refactor mrb_hash_shift, num_pow, flo_eq, flo_finite_p methodkkkkkt
2014-08-04add MRB_API modifiers to mruby API functionsYukihiro "Matz" Matsumoto
2014-07-03Always return non-NULL in `mrb_hash_tbl`.take_cheeze
2014-06-13need to call write barrier on hash keys; ref #2375Yukihiro "Matz" Matsumoto
2014-05-18Merge pull request #2287 from yui-knk/add-spaceYukihiro "Matz" Matsumoto
Add a space aftre bracket.
2014-05-18Add a space aftre bracket.yui-knk
2014-05-18Fix indent in mrb_hash_to_hash()Jun Hiroe
2014-05-08use mrb_field_write_barrier_value() in hash.cYukihiro "Matz" Matsumoto
2014-04-15resolve conflictYukihiro "Matz" Matsumoto
2014-04-13use kh_put2 in mrb_hash_set for performance improvementYukihiro "Matz" Matsumoto
2014-04-09improve hash function based on #2027; close #2027Yukihiro "Matz" Matsumoto
2014-04-04Hash#replace should copy default as well; close #2004Yukihiro "Matz" Matsumoto
2014-04-04implement Hash#initialize in CYukihiro "Matz" Matsumoto
2014-04-04Hash#replace to preserve order; close #2001Yukihiro "Matz" Matsumoto
2014-04-02Use bool macro KHASH_DEFINE and KHASH_DECLAREksss
2014-04-01Hash#keys to update memory region directlyYukihiro "Matz" Matsumoto
2014-04-01should adjust hash value order at deletionYukihiro "Matz" Matsumoto
2014-04-01implement Hash#== and eql? in RubyYukihiro "Matz" Matsumoto
2014-04-01function expansion in hash.cYukihiro "Matz" Matsumoto
2014-04-01move Hash#inspect implementation to mrblib/hash.rbYukihiro "Matz" Matsumoto
2014-04-01Hash to preserve order as Ruby1.9 doesYukihiro "Matz" Matsumoto
2014-03-31Hash function to avoid funcalls if possibleYukihiro "Matz" Matsumoto
2014-03-15calc hash value directly for strings, symbols and numbersYukihiro "Matz" Matsumoto
2014-03-12fix mrb_funcall callingtake_cheeze
2014-03-08use mrb_str_cat_lit for literalscremno
2014-03-08fix #1823ksss
2014-03-07Hash#== and eql? should not return fixnum; ref #1823Yukihiro "Matz" Matsumoto
2014-03-07Fix behavior Hash#eql?ksss
2014-02-27use mrb_str_cat_lit() intead of mrb_str_catcubicdaiya
2014-02-14clearn up warning in hash.cLi Yazhou
/home/fleuria/code/mruby/src/hash.c:159:1: warning: ‘mrb_hash_dp`defined but not used [-Wunused-function] mrb_hash_dup(mrb_state *mrb, mrb_value hash) ^ this commit defines Hash#dup to take advantage of mrb_hash_dup, however it seems that Hash#dup is not in ISO standard.
2014-02-13hash / hash-ext: various small changescremno
src/hash.c: - mrb_hash_(aget|aset|dup|delete): internal linkage - remove documentation of methods which are not implemented (in here) - remove #assoc; unused, not in ISO spec - remove #rassoc: same, implementation is also wrong hash-ext mrbgem: - remove header "mruby/khash.h" - remove mrb_hash_values_at (move code into hash_values_at, i: long -> int) - less whitespace in gem_init function
2014-02-09Merge pull request #1674 from cremno/mrb_bool-FALSE-TRUEYukihiro "Matz" Matsumoto
use mrb_bool, FALSE and TRUE more
2014-02-08made mrb_define_class to return existing class, with heavy refactoringYukihiro "Matz" Matsumoto
2014-02-06use mrb_str_new_lit() more widelyYukihiro "Matz" Matsumoto
2014-01-31use mrb_bool, FALSE and TRUE morecremno
It doesn't matter to me if one is using FALSE/TRUE instead of 1/0 but I prefer a type (alias) which emphasizes boolean vars to int. I changed 1/0 to FALSE/TRUE anyway.
2013-12-23Remove 'mrb_state' field from 'kh_xxx_t' structure.crimsonwoods
'kh_xxx_t' requires 'mrb_state' to allocate, free, and compute hash value. But 'mrb_state' should not be held by 'kh_xxx_t' and 'mrb_state' should be supplied from outside.
2013-12-01add mrb_intern_lit for creating symbol from string literaltake_cheeze
2013-11-29rename mrb_intern2() to mrb_intern(); huge API incompatibility; close #1513Yukihiro "Matz" Matsumoto
2013-06-27Refactor mrb_hash_empty_p() func in hash.cJun Hiroe
2013-06-26Merge pull request #1308 from suzukaze/refactor-hash-cYukihiro "Matz" Matsumoto
Refactor mrb_hash_has_keyWithKey() func in hash.c
2013-06-26Refactor mrb_hash_has_keyWithKey() func in hash.cJun Hiroe
2013-06-26Add arena save/restore around use of hash KEY.Carson McDonald
2013-06-15Merge upstreamDaniel Bovensiepen
2013-06-17Add ISO Number to HashDaniel Bovensiepen