Lines Matching refs:hole_index
57 static inline void min_heap_shift_up_(min_heap_t* s, unsigned hole_index, struct event* e);
58 static inline void min_heap_shift_up_unconditional_(min_heap_t* s, unsigned hole_index, struct event* e);
59 static inline void min_heap_shift_down_(min_heap_t* s, unsigned hole_index, struct event* e);
149 void min_heap_shift_up_unconditional_(min_heap_t* s, unsigned hole_index, struct event* e)
151 unsigned parent = (hole_index - 1) / 2;
154 (s->p[hole_index] = s->p[parent])->ev_timeout_pos.min_heap_idx = hole_index;
155 hole_index = parent;
156 parent = (hole_index - 1) / 2;
157 } while (hole_index && min_heap_elem_greater(s->p[parent], e));
158 (s->p[hole_index] = e)->ev_timeout_pos.min_heap_idx = hole_index;
161 void min_heap_shift_up_(min_heap_t* s, unsigned hole_index, struct event* e)
163 unsigned parent = (hole_index - 1) / 2;
164 while (hole_index && min_heap_elem_greater(s->p[parent], e))
166 (s->p[hole_index] = s->p[parent])->ev_timeout_pos.min_heap_idx = hole_index;
167 hole_index = parent;
168 parent = (hole_index - 1) / 2;
170 (s->p[hole_index] = e)->ev_timeout_pos.min_heap_idx = hole_index;
173 void min_heap_shift_down_(min_heap_t* s, unsigned hole_index, struct event* e)
175 unsigned min_child = 2 * (hole_index + 1);
181 (s->p[hole_index] = s->p[min_child])->ev_timeout_pos.min_heap_idx = hole_index;
182 hole_index = min_child;
183 min_child = 2 * (hole_index + 1);
185 (s->p[hole_index] = e)->ev_timeout_pos.min_heap_idx = hole_index;