Lines Matching refs:elem_size
257 void __min_heap_sift_down_inline(min_heap_char *heap, size_t pos, size_t elem_size, in __min_heap_sift_down_inline() argument
260 const unsigned long lsbit = elem_size & -elem_size; in __min_heap_sift_down_inline()
264 size_t a = pos * elem_size; in __min_heap_sift_down_inline()
266 size_t n = heap->nr * elem_size; in __min_heap_sift_down_inline()
269 swp = select_swap_func(data, elem_size); in __min_heap_sift_down_inline()
272 for (b = a; c = 2 * b + elem_size, (d = c + elem_size) < n;) in __min_heap_sift_down_inline()
281 b = parent(b, lsbit, elem_size); in __min_heap_sift_down_inline()
286 b = parent(b, lsbit, elem_size); in __min_heap_sift_down_inline()
287 do_swap(data + b, data + c, elem_size, swp, args); in __min_heap_sift_down_inline()
297 void __min_heap_sift_up_inline(min_heap_char *heap, size_t elem_size, size_t idx, in __min_heap_sift_up_inline() argument
300 const unsigned long lsbit = elem_size & -elem_size; in __min_heap_sift_up_inline()
304 size_t a = idx * elem_size, b; in __min_heap_sift_up_inline()
307 swp = select_swap_func(data, elem_size); in __min_heap_sift_up_inline()
310 b = parent(a, lsbit, elem_size); in __min_heap_sift_up_inline()
313 do_swap(data + a, data + b, elem_size, swp, args); in __min_heap_sift_up_inline()
324 void __min_heapify_all_inline(min_heap_char *heap, size_t elem_size, in __min_heapify_all_inline() argument
330 __min_heap_sift_down_inline(heap, i, elem_size, func, args); in __min_heapify_all_inline()
339 bool __min_heap_pop_inline(min_heap_char *heap, size_t elem_size, in __min_heap_pop_inline() argument
349 memcpy(data, data + (heap->nr * elem_size), elem_size); in __min_heap_pop_inline()
350 __min_heap_sift_down_inline(heap, 0, elem_size, func, args); in __min_heap_pop_inline()
365 void __min_heap_pop_push_inline(min_heap_char *heap, const void *element, size_t elem_size, in __min_heap_pop_push_inline() argument
368 memcpy(heap->data, element, elem_size); in __min_heap_pop_push_inline()
369 __min_heap_sift_down_inline(heap, 0, elem_size, func, args); in __min_heap_pop_push_inline()
378 bool __min_heap_push_inline(min_heap_char *heap, const void *element, size_t elem_size, in __min_heap_push_inline() argument
389 memcpy(data + (pos * elem_size), element, elem_size); in __min_heap_push_inline()
393 __min_heap_sift_up_inline(heap, elem_size, pos, func, args); in __min_heap_push_inline()
404 bool __min_heap_del_inline(min_heap_char *heap, size_t elem_size, size_t idx, in __min_heap_del_inline() argument
414 swp = select_swap_func(data, elem_size); in __min_heap_del_inline()
420 do_swap(data + (idx * elem_size), data + (heap->nr * elem_size), elem_size, swp, args); in __min_heap_del_inline()
421 __min_heap_sift_up_inline(heap, elem_size, idx, func, args); in __min_heap_del_inline()
422 __min_heap_sift_down_inline(heap, idx, elem_size, func, args); in __min_heap_del_inline()
434 void __min_heap_sift_down(min_heap_char *heap, size_t pos, size_t elem_size,
436 void __min_heap_sift_up(min_heap_char *heap, size_t elem_size, size_t idx,
438 void __min_heapify_all(min_heap_char *heap, size_t elem_size,
440 bool __min_heap_pop(min_heap_char *heap, size_t elem_size,
442 void __min_heap_pop_push(min_heap_char *heap, const void *element, size_t elem_size,
444 bool __min_heap_push(min_heap_char *heap, const void *element, size_t elem_size,
446 bool __min_heap_del(min_heap_char *heap, size_t elem_size, size_t idx,