Lines Matching defs:nodearray_sparse
62 typedef uint64_t nodearray_sparse;
66 nodearray_sparse *sparse;
77 for (nodearray_sparse *elem = (buf)->sparse; \
107 static inline nodearray_sparse
111 return ((nodearray_sparse) key << 16) | value;
115 nodearray_sparse_key(const nodearray_sparse *elem)
122 nodearray_sparse_value(const nodearray_sparse *elem)
128 nodearray_sparse_search(const nodearray *a, nodearray_sparse key, nodearray_sparse **elem)
132 nodearray_sparse *data = a->sparse;
137 nodearray_sparse skey = nodearray_encode(key, NODEARRAY_MAX_VALUE);
176 nodearray_sparse *elem;
193 nodearray_sparse *data = a->sparse;
194 nodearray_sparse *data_move = data + left;
201 a->sparse = (nodearray_sparse *)malloc(a->sparse_capacity * sizeof(nodearray_sparse));
204 memcpy(a->sparse, data, left * sizeof(nodearray_sparse));
207 nodearray_sparse *elem = a->sparse + left;
210 memmove(elem + 1, data_move, (size - left) * sizeof(nodearray_sparse));