Lines Matching refs:data
20 _type *data; \
28 #define __minheap_cast(_heap) (typeof((_heap)->data[0]) *)
29 #define __minheap_obj_size(_heap) sizeof((_heap)->data[0])
43 void __min_heap_init(min_heap_char *heap, void *data, int size) in __min_heap_init() argument
47 if (data) in __min_heap_init()
48 heap->data = data; in __min_heap_init()
50 heap->data = heap->preallocated; in __min_heap_init()
60 return heap->nr ? heap->data : NULL; in __min_heap_peek()
82 void *data = heap->data; in __min_heap_sift_down() local
83 void *root = data + pos * elem_size; in __min_heap_sift_down()
90 left = data + (i * 2 + 1) * elem_size; in __min_heap_sift_down()
91 right = data + (i * 2 + 2) * elem_size; in __min_heap_sift_down()
100 while (i != pos && func->less(root, data + i * elem_size, args)) in __min_heap_sift_down()
107 func->swp(data + i * elem_size, data + j * elem_size, args); in __min_heap_sift_down()
119 void *data = heap->data; in __min_heap_sift_up() local
124 if (func->less(data + parent * elem_size, data + idx * elem_size, args)) in __min_heap_sift_up()
126 func->swp(data + parent * elem_size, data + idx * elem_size, args); in __min_heap_sift_up()
153 void *data = heap->data; in __min_heap_pop() local
160 memcpy(data, data + (heap->nr * elem_size), elem_size); in __min_heap_pop()
180 memcpy(heap->data, element, elem_size); in __min_heap_pop_push()
192 void *data = heap->data; in __min_heap_push() local
200 memcpy(data + (pos * elem_size), element, elem_size); in __min_heap_push()
217 void *data = heap->data; in __min_heap_del() local
226 func->swp(data + (idx * elem_size), data + (heap->nr * elem_size), args); in __min_heap_del()