4 static VALUE fn(VALUE self,VALUE str) \
8 data.dptr = (unsigned char *)RSTRING_PTR(str); \
9 data.dsize = RSTRING_LEN(str); \
10 return UINT2NUM(rbtdb_##fn(&data)); \
15 HASH_FN(murmur1_aligned
)
18 HASH_FN(murmur2_neutral
)
19 HASH_FN(murmur2_aligned
)
25 HASH_FN(jenkins_lookup3
)
27 #define HASH_M(fn) rb_define_method(mHashFunctions, "tdb_hash_"#fn, fn, 1)
28 void rbtdb_init_tdb_hash_functions(void)
30 VALUE cTDB
= rb_const_get(rb_cObject
, rb_intern("TDB"));
31 VALUE mHashFunctions
= rb_define_module_under(cTDB
, "HashFunctions");
35 HASH_M(murmur1_aligned
);
38 HASH_M(murmur2_neutral
);
39 HASH_M(murmur2_aligned
);
45 HASH_M(jenkins_lookup3
);