Lines Matching refs:val

346                 PyObject *key, PyObject *val, int* added_leaf);
357 PyObject *key, PyObject **val);
630 /* Helper method. Creates a new node for key1/val and key2/val2
689 PyObject *key, PyObject *val, int* added_leaf)
693 Return: a new node, or self if key/val already is in the
697 `hamt.set(key, val)` increased the size of the collection.
713 - If this node has the corresponding key/val slots.
714 - The index of key/val slots.
736 shift + 5, hash, key, val, added_leaf);
764 if (val == val_or_node) {
765 /* we already have the same key/val pair; return self. */
776 Py_INCREF(val);
777 Py_SETREF(ret->b_array[val_idx], val);
791 key_or_null, val_or_node, /* existing key/val */
793 key, val /* new key/val */
852 /* Make a new bitmap node for the key/val we're adding.
855 empty, shift + 5, hash, key, val, added_leaf);
911 new key/val pair added. */
919 /* Allocate new Bitmap node which can have one more key/val
937 Py_INCREF(val);
938 new_node->b_array[val_idx] = val;
1024 PyObject *val = sub_tree->b_array[1];
1028 Py_INCREF(val);
1029 Py_SETREF(clone->b_array[val_idx], val);
1097 PyObject *key, PyObject **val)
1127 shift + 5, hash, key, val);
1138 *val = val_or_node;
1318 PyObject *key, PyObject *val, int* added_leaf)
1356 Py_INCREF(val);
1357 new_node->c_array[i + 1] = val;
1369 if (self->c_array[val_idx] == val) {
1391 Py_INCREF(val);
1392 new_node->c_array[val_idx] = val;
1421 new_node, shift, hash, key, val, added_leaf);
1530 PyObject *key, PyObject **val)
1533 for the found key to 'val'. */
1546 *val = self->c_array[idx + 1];
1547 assert(*val != NULL);
1610 PyObject *val = node->c_array[i + 1];
1616 if (_hamt_dump_format(writer, "%R: %R\n", key, val)) {
1679 PyObject *key, PyObject *val, int* added_leaf)
1706 /* Set key/val to the newly created empty Bitmap, thus
1710 shift + 5, hash, key, val, added_leaf);
1738 node, shift + 5, hash, key, val, added_leaf);
1873 PyObject *val = child->b_array[1];
1877 Py_INCREF(val);
1878 new->b_array[new_i + 1] = val;
1921 PyObject *key, PyObject **val)
1924 for the found key to 'val'. */
1935 return hamt_node_find(node, shift + 5, hash, key, val);
2023 PyObject *key, PyObject *val, int* added_leaf)
2039 shift, hash, key, val, added_leaf);
2044 shift, hash, key, val, added_leaf);
2050 shift, hash, key, val, added_leaf);
2084 PyObject *key, PyObject **val)
2089 *val will point to the found value object.
2102 shift, hash, key, val);
2108 shift, hash, key, val);
2114 shift, hash, key, val);
2150 hamt_iterator_next(PyHamtIteratorState *iter, PyObject **key, PyObject **val);
2169 PyObject **key, PyObject **val)
2182 return hamt_iterator_next(iter, key, val);
2195 return hamt_iterator_next(iter, key, val);
2199 *val = node->b_array[pos + 1];
2206 PyObject **key, PyObject **val)
2219 return hamt_iterator_next(iter, key, val);
2223 *val = node->c_array[pos + 1];
2230 PyObject **key, PyObject **val)
2243 return hamt_iterator_next(iter, key, val);
2256 return hamt_iterator_next(iter, key, val);
2266 return hamt_iterator_next(iter, key, val);
2270 hamt_iterator_next(PyHamtIteratorState *iter, PyObject **key, PyObject **val)
2281 return hamt_iterator_bitmap_next(iter, key, val);
2284 return hamt_iterator_array_next(iter, key, val);
2288 return hamt_iterator_collision_next(iter, key, val);
2297 _PyHamt_Assoc(PyHamtObject *o, PyObject *key, PyObject *val)
2311 0, key_hash, key, val, &added_leaf);
2377 hamt_find(PyHamtObject *o, PyObject *key, PyObject **val)
2388 return hamt_node_find(o->h_root, 0, key_hash, key, val);
2393 _PyHamt_Find(PyHamtObject *o, PyObject *key, PyObject **val)
2395 hamt_find_t res = hamt_find(o, key, val);
2562 PyObject *val;
2563 hamt_iter_t res = hamt_iterator_next(&it->hi_iter, &key, &val);
2571 return (*(it->hi_yield))(key, val);
2630 hamt_iter_yield_items(PyObject *key, PyObject *val)
2632 return PyTuple_Pack(2, key, val);
2653 hamt_iter_yield_keys(PyObject *key, PyObject *val)
2677 hamt_iter_yield_values(PyObject *key, PyObject *val)
2679 Py_INCREF(val);
2680 return val;
2760 PyObject *val;
2761 return _PyHamt_Find(self, key, &val);
2767 PyObject *val;
2768 hamt_find_t res = hamt_find(self, key, &val);
2773 Py_INCREF(val);
2774 return val;
2799 PyObject *val;
2801 if (!PyArg_UnpackTuple(args, "set", 2, 2, &key, &val)) {
2805 return (PyObject *)_PyHamt_Assoc(self, key, val);
2818 PyObject *val = NULL;
2819 hamt_find_t res = hamt_find(self, key, &val);
2824 Py_INCREF(val);
2825 return val;