subtrie 241 maint/gnulib/lib/hamt.c trienode_count (const struct subtrie *subtrie) subtrie 243 maint/gnulib/lib/hamt.c return count_one_bits (subtrie->map); /* In Gnulib, we assume that subtrie 249 maint/gnulib/lib/hamt.c static struct subtrie * subtrie 252 maint/gnulib/lib/hamt.c struct subtrie *subtrie subtrie 253 maint/gnulib/lib/hamt.c = xmalloc (FLEXSIZEOF (struct subtrie, nodes, subtrie 255 maint/gnulib/lib/hamt.c init_ref_counter (&subtrie->ref_count, subtrie_entry); subtrie 256 maint/gnulib/lib/hamt.c return subtrie; subtrie 282 maint/gnulib/lib/hamt.c static struct subtrie * subtrie 283 maint/gnulib/lib/hamt.c replace_entry (struct subtrie *subtrie, int j, Hamt_entry *entry) subtrie 285 maint/gnulib/lib/hamt.c int n = trienode_count (subtrie); subtrie 286 maint/gnulib/lib/hamt.c struct subtrie *new_subtrie = alloc_subtrie (n); subtrie 287 maint/gnulib/lib/hamt.c new_subtrie->map = subtrie->map; subtrie 292 maint/gnulib/lib/hamt.c new_subtrie->nodes[k] = copy_entry (subtrie->nodes[k]); subtrie 298 maint/gnulib/lib/hamt.c static struct subtrie * subtrie 299 maint/gnulib/lib/hamt.c insert_entry (struct subtrie *subtrie, int i, int j, Hamt_entry *entry) subtrie 301 maint/gnulib/lib/hamt.c int n = trienode_count (subtrie) + 1; subtrie 302 maint/gnulib/lib/hamt.c struct subtrie *new_subtrie = alloc_subtrie (n); subtrie 303 maint/gnulib/lib/hamt.c new_subtrie->map = subtrie->map | (1 << i); subtrie 307 maint/gnulib/lib/hamt.c new_subtrie->nodes[k] = copy_entry (subtrie->nodes[k]); subtrie 309 maint/gnulib/lib/hamt.c new_subtrie->nodes[k] = copy_entry (subtrie->nodes[k - 1]); subtrie 319 maint/gnulib/lib/hamt.c remove_subtrie_entry (struct subtrie *subtrie, int i, int j) subtrie 321 maint/gnulib/lib/hamt.c int n = trienode_count (subtrie) - 1; subtrie 325 maint/gnulib/lib/hamt.c return copy_entry (subtrie->nodes[1]); subtrie 326 maint/gnulib/lib/hamt.c return copy_entry (subtrie->nodes[0]); subtrie 328 maint/gnulib/lib/hamt.c struct subtrie *new_subtrie = alloc_subtrie (n); subtrie 329 maint/gnulib/lib/hamt.c new_subtrie->map = subtrie->map & ~(1 << i); subtrie 333 maint/gnulib/lib/hamt.c new_subtrie->nodes[k] = copy_entry (subtrie->nodes[k]); subtrie 335 maint/gnulib/lib/hamt.c new_subtrie->nodes[k] = copy_entry (subtrie->nodes[k + 1]); subtrie 404 maint/gnulib/lib/hamt.c struct subtrie *subtrie); subtrie 416 maint/gnulib/lib/hamt.c free_subtrie (functions, (struct subtrie *) entry); subtrie 428 maint/gnulib/lib/hamt.c free_subtrie (struct function_table const *functions, struct subtrie *subtrie) subtrie 430 maint/gnulib/lib/hamt.c if (dec_ref_counter (&subtrie->ref_count)) subtrie 432 maint/gnulib/lib/hamt.c int n = trienode_count (subtrie); subtrie 433 maint/gnulib/lib/hamt.c Hamt_entry **node_ptr = subtrie->nodes; subtrie 436 maint/gnulib/lib/hamt.c free (subtrie); subtrie 476 maint/gnulib/lib/hamt.c const struct subtrie *subtrie, const void *elt, subtrie 479 maint/gnulib/lib/hamt.c uint32_t map = subtrie->map; subtrie 486 maint/gnulib/lib/hamt.c return entry_lookup (functions, subtrie->nodes[j], elt, hash >> 5); subtrie 501 maint/gnulib/lib/hamt.c return subtrie_lookup (functions, (struct subtrie *) entry, elt, hash); subtrie 544 maint/gnulib/lib/hamt.c struct subtrie *subtrie; subtrie 549 maint/gnulib/lib/hamt.c subtrie = alloc_subtrie (2); subtrie 550 maint/gnulib/lib/hamt.c subtrie->map = (1 << i1) | (1 << i2); subtrie 553 maint/gnulib/lib/hamt.c subtrie->nodes[0] = elt1; subtrie 554 maint/gnulib/lib/hamt.c subtrie->nodes[1] = elt2; subtrie 558 maint/gnulib/lib/hamt.c subtrie->nodes[0] = elt2; subtrie 559 maint/gnulib/lib/hamt.c subtrie->nodes[1] = elt1; subtrie 564 maint/gnulib/lib/hamt.c subtrie = alloc_subtrie (1); subtrie 565 maint/gnulib/lib/hamt.c subtrie->map = 1 << i1; subtrie 566 maint/gnulib/lib/hamt.c subtrie->nodes[0] subtrie 570 maint/gnulib/lib/hamt.c return (Hamt_entry *) subtrie; subtrie 615 maint/gnulib/lib/hamt.c Hamt_entry *subtrie, Hamt_entry **elt_ptr, subtrie 620 maint/gnulib/lib/hamt.c static struct subtrie * subtrie 621 maint/gnulib/lib/hamt.c subtrie_insert (const struct function_table *functions, struct subtrie *subtrie, subtrie 625 maint/gnulib/lib/hamt.c uint32_t map = subtrie->map; subtrie 630 maint/gnulib/lib/hamt.c Hamt_entry *entry = subtrie->nodes[j]; subtrie 637 maint/gnulib/lib/hamt.c return replace_entry (subtrie, j, new_entry); subtrie 639 maint/gnulib/lib/hamt.c subtrie->nodes[j] = new_entry; subtrie 641 maint/gnulib/lib/hamt.c return subtrie; subtrie 646 maint/gnulib/lib/hamt.c return insert_entry (subtrie, i, j, entry); subtrie 688 maint/gnulib/lib/hamt.c subtrie_insert (functions, (struct subtrie *) entry, elt_ptr, hash, subtrie 771 maint/gnulib/lib/hamt.c subtrie_remove (const struct function_table *functions, struct subtrie *subtrie, subtrie 774 maint/gnulib/lib/hamt.c uint32_t map = subtrie->map; subtrie 779 maint/gnulib/lib/hamt.c Hamt_entry *entry = subtrie->nodes[j]; subtrie 784 maint/gnulib/lib/hamt.c return remove_subtrie_entry (subtrie, i, j); subtrie 788 maint/gnulib/lib/hamt.c return (Hamt_entry *) replace_entry (subtrie, j, new_entry); subtrie 790 maint/gnulib/lib/hamt.c subtrie->nodes[j] = new_entry; subtrie 792 maint/gnulib/lib/hamt.c return (Hamt_entry *) subtrie; subtrie 795 maint/gnulib/lib/hamt.c return (Hamt_entry *) subtrie; subtrie 819 maint/gnulib/lib/hamt.c return subtrie_remove (functions, (struct subtrie *) entry, elt_ptr, hash, subtrie 888 maint/gnulib/lib/hamt.c static size_t subtrie_do_while (const struct subtrie *subtrie, subtrie 892 maint/gnulib/lib/hamt.c int n = trienode_count (subtrie); subtrie 893 maint/gnulib/lib/hamt.c Hamt_entry *const *node_ptr = subtrie->nodes; subtrie 914 maint/gnulib/lib/hamt.c return subtrie_do_while ((struct subtrie *) entry, proc, data, success); subtrie 959 maint/gnulib/lib/hamt.c const struct subtrie *subtrie = (const struct subtrie *) entry; subtrie 961 maint/gnulib/lib/hamt.c entry = subtrie->nodes[0]; subtrie 1011 maint/gnulib/lib/hamt.c struct subtrie *subtrie; subtrie 1016 maint/gnulib/lib/hamt.c subtrie = (struct subtrie *) iter->entry[iter->depth]; subtrie 1017 maint/gnulib/lib/hamt.c if (j < trienode_count (subtrie)) subtrie 1020 maint/gnulib/lib/hamt.c while (iter->entry[++iter->depth] = subtrie->nodes[j], subtrie 1026 maint/gnulib/lib/hamt.c subtrie = (struct subtrie *) iter->entry[iter->depth];