From 96fa3461f044ddbda697947bb8a1ac10e8bf65c5 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 20 Mar 2024 23:25:17 +0900 Subject: [PATCH] mruby.h: move integer hash function from khash.h --- include/mruby.h | 2 ++ include/mruby/khash.h | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/include/mruby.h b/include/mruby.h index 2d87a13fe..0fd5ffe5f 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -1543,6 +1543,8 @@ mrbmemset(void *s, int c, size_t n) #define memset(a,b,c) mrbmemset(a,b,c) #endif +#define mrb_int_hash_func(mrb,key) (uint32_t)((key)^((key)<<2)^((key)>>2)) + MRB_END_DECL #endif /* MRUBY_H */ diff --git a/include/mruby/khash.h b/include/mruby/khash.h index c413ebbb7..c60320428 100644 --- a/include/mruby/khash.h +++ b/include/mruby/khash.h @@ -264,7 +264,7 @@ kh_fill_flags(uint8_t *p, uint8_t c, size_t len) #define kh_size(h) ((h)->size) #define kh_n_buckets(h) ((h)->n_buckets) -#define kh_int_hash_func(mrb,key) (khint_t)((key)^((key)<<2)^((key)>>2)) +#define kh_int_hash_func(mrb,key) mrb_int_hash_func(mrb,key) #define kh_int_hash_equal(mrb,a, b) (a == b) #define kh_int64_hash_func(mrb,key) (khint_t)((key)>>33^(key)^(key)<<11) #define kh_int64_hash_equal(mrb,a, b) (a == b)