Lines Matching refs:elem
34 * Function names follow ARM instruction names: orr does *elem |= value.
76 #define nodearray_sparse_foreach(buf, elem) \
77 for (nodearray_sparse *elem = (buf)->sparse; \
78 elem < (buf)->sparse + (buf)->size; elem++)
80 #define nodearray_dense_foreach(buf, elem) \
81 for (nodearray_value *elem = (buf)->dense; \
82 elem < (buf)->dense + (buf)->size; elem++)
84 #define nodearray_dense_foreach_64(buf, elem) \
85 for (uint64_t *elem = (uint64_t *)(buf)->dense; \
86 (nodearray_value *)elem < (buf)->dense + (buf)->size; elem++)
115 nodearray_sparse_key(const nodearray_sparse *elem)
118 return *elem >> 16;
122 nodearray_sparse_value(const nodearray_sparse *elem)
124 return *elem & NODEARRAY_MAX_VALUE;
128 nodearray_sparse_search(const nodearray *a, nodearray_sparse key, nodearray_sparse **elem)
156 *elem = data + left;
176 nodearray_sparse *elem;
177 left = nodearray_sparse_search(a, key, &elem);
179 if (nodearray_sparse_key(elem) == key) {
180 *elem |= value;
186 if (nodearray_sparse_key(elem) < key)
207 nodearray_sparse *elem = a->sparse + left;
210 memmove(elem + 1, data_move, (size - left) * sizeof(nodearray_sparse));
212 *elem = nodearray_encode(key, value);