|
| #define | PREFETCH(addr, write_p) |
| |
| #define | EXPECT(expr, val) (expr) |
| |
| #define | ATTRIBUTE_UNUSED |
| |
| #define | st_assert(cond) ((void)(0 && (cond))) |
| |
| #define | type_numhash st_hashtype_num |
| |
| #define | ST_INIT_VAL 0xafafafafafafafaf |
| |
| #define | ST_INIT_VAL_BYTE 0xafa |
| |
| #define | malloc ruby_xmalloc |
| |
| #define | calloc ruby_xcalloc |
| |
| #define | realloc ruby_xrealloc |
| |
| #define | free ruby_xfree |
| |
| #define | EQUAL(tab, x, y) ((x) == (y) || (*(tab)->type->compare)((x),(y)) == 0) |
| |
| #define | PTR_EQUAL(tab, ptr, hash_val, key_) ((ptr)->hash == (hash_val) && EQUAL((tab), (key_), (ptr)->key)) |
| |
| #define | MAX_POWER2 30 |
| |
| #define | RESERVED_HASH_VAL (~(st_hash_t) 0) |
| |
| #define | RESERVED_HASH_SUBSTITUTION_VAL ((st_hash_t) 0) |
| |
| #define | MINIMAL_POWER2 2 |
| |
| #define | MAX_POWER2_FOR_TABLES_WITHOUT_BINS 4 |
| |
| #define | EMPTY_BIN 0 |
| |
| #define | DELETED_BIN 1 |
| |
| #define | ENTRY_BASE 2 |
| |
| #define | MARK_BIN_EMPTY(tab, i) (set_bin((tab)->bins, get_size_ind(tab), i, EMPTY_BIN)) |
| |
| #define | UNDEFINED_ENTRY_IND (~(st_index_t) 0) |
| |
| #define | UNDEFINED_BIN_IND (~(st_index_t) 0) |
| |
| #define | MARK_BIN_DELETED(tab, i) |
| |
| #define | EMPTY_BIN_P(b) ((b) == EMPTY_BIN) |
| |
| #define | DELETED_BIN_P(b) ((b) == DELETED_BIN) |
| |
| #define | EMPTY_OR_DELETED_BIN_P(b) ((b) <= DELETED_BIN) |
| |
| #define | IND_EMPTY_BIN_P(tab, i) (EMPTY_BIN_P(get_bin((tab)->bins, get_size_ind(tab), i))) |
| |
| #define | IND_DELETED_BIN_P(tab, i) (DELETED_BIN_P(get_bin((tab)->bins, get_size_ind(tab), i))) |
| |
| #define | IND_EMPTY_OR_DELETED_BIN_P(tab, i) (EMPTY_OR_DELETED_BIN_P(get_bin((tab)->bins, get_size_ind(tab), i))) |
| |
| #define | MARK_ENTRY_DELETED(e_ptr) ((e_ptr)->hash = RESERVED_HASH_VAL) |
| |
| #define | DELETED_ENTRY_P(e_ptr) ((e_ptr)->hash == RESERVED_HASH_VAL) |
| |
| #define | COLLISION |
| |
| #define | FOUND_BIN |
| |
| #define | REBUILD_THRESHOLD 4 |
| |
| #define | FNV1_32A_INIT 0x811c9dc5 |
| |
| #define | FNV_32_PRIME 0x01000193 |
| |
| #define | BIG_CONSTANT(x, y) ((st_index_t)(x)<<32|(st_index_t)(y)) |
| |
| #define | ROTL(x, n) ((x)<<(n)|(x)>>(SIZEOF_ST_INDEX_T*CHAR_BIT-(n))) |
| |
| #define | C1 (st_index_t)0xcc9e2d51 |
| |
| #define | C2 (st_index_t)0x1b873593 |
| |
| #define | r1 (17) |
| |
| #define | r2 (11) |
| |
| #define | r1 (16) |
| |
| #define | r2 (13) |
| |
| #define | r3 (16) |
| |
| #define | data_at(n) (st_index_t)((unsigned char)data[(n)]) |
| |
| #define | UNALIGNED_ADD_4 UNALIGNED_ADD(2); UNALIGNED_ADD(1); UNALIGNED_ADD(0) |
| |
| #define | UNALIGNED_ADD_ALL UNALIGNED_ADD_4 |
| |
| #define | UNALIGNED_ADD(n) |
| |
| #define | UNALIGNED_ADD(n) |
| |
| #define | SKIP_TAIL 1 |
| |
| #define | UNALIGNED_ADD(n) |
| |
|
| st_table * | st_init_table_with_size (const struct st_hash_type *type, st_index_t size) |
| |
| st_table * | st_init_table (const struct st_hash_type *type) |
| |
| st_table * | st_init_numtable (void) |
| |
| st_table * | st_init_numtable_with_size (st_index_t size) |
| |
| st_table * | st_init_strtable (void) |
| |
| st_table * | st_init_strtable_with_size (st_index_t size) |
| |
| st_table * | st_init_strcasetable (void) |
| |
| st_table * | st_init_strcasetable_with_size (st_index_t size) |
| |
| void | st_clear (st_table *tab) |
| |
| void | st_free_table (st_table *tab) |
| |
| size_t | st_memsize (const st_table *tab) |
| |
| int | st_lookup (st_table *tab, st_data_t key, st_data_t *value) |
| |
| int | st_get_key (st_table *tab, st_data_t key, st_data_t *result) |
| |
| int | st_insert (st_table *tab, st_data_t key, st_data_t value) |
| |
| void | st_add_direct (st_table *tab, st_data_t key, st_data_t value) |
| |
| int | st_insert2 (st_table *tab, st_data_t key, st_data_t value, st_data_t(*func)(st_data_t)) |
| |
| st_table * | st_copy (st_table *old_tab) |
| |
| int | st_delete (st_table *tab, st_data_t *key, st_data_t *value) |
| |
| int | st_delete_safe (st_table *tab, st_data_t *key, st_data_t *value, st_data_t never ATTRIBUTE_UNUSED) |
| |
| int | st_shift (st_table *tab, st_data_t *key, st_data_t *value) |
| |
| void | st_cleanup_safe (st_table *tab ATTRIBUTE_UNUSED, st_data_t never ATTRIBUTE_UNUSED) |
| |
| int | st_update (st_table *tab, st_data_t key, st_update_callback_func *func, st_data_t arg) |
| |
| int | st_foreach (st_table *tab, int(*func)(ANYARGS), st_data_t arg) |
| |
| int | st_foreach_check (st_table *tab, int(*func)(ANYARGS), st_data_t arg, st_data_t never ATTRIBUTE_UNUSED) |
| |
| st_index_t | st_keys (st_table *tab, st_data_t *keys, st_index_t size) |
| |
| st_index_t | st_keys_check (st_table *tab, st_data_t *keys, st_index_t size, st_data_t never ATTRIBUTE_UNUSED) |
| |
| st_index_t | st_values (st_table *tab, st_data_t *values, st_index_t size) |
| |
| st_index_t | st_values_check (st_table *tab, st_data_t *values, st_index_t size, st_data_t never ATTRIBUTE_UNUSED) |
| |
| st_index_t | st_hash (const void *ptr, size_t len, st_index_t h) |
| |
| st_index_t | st_hash_uint32 (st_index_t h, uint32_t i) |
| |
| st_index_t | st_hash_uint (st_index_t h, st_index_t i) |
| |
| st_index_t | st_hash_end (st_index_t h) |
| |
| st_index_t | st_hash_start (st_index_t h) |
| |
| int | st_locale_insensitive_strcasecmp (const char *s1, const char *s2) |
| |
| int | st_locale_insensitive_strncasecmp (const char *s1, const char *s2, size_t n) |
| |
| | PUREFUNC (static st_index_t strcasehash(st_data_t)) |
| |
| int | st_numcmp (st_data_t x, st_data_t y) |
| |
| st_index_t | st_numhash (st_data_t n) |
| |
| void | rb_hash_bulk_insert (long argc, const VALUE *argv, VALUE hash) |
| |