| 97 | |
| 98 | |
| 99 | static void |
| 100 | bubble_up(pqueue_t *q, size_t i) |
| 101 | { |
| 102 | size_t parent_node; |
| 103 | void *moving_node = q->d[i]; |
| 104 | pqueue_pri_t moving_pri = q->getpri(moving_node); |
| 105 | |
| 106 | for (parent_node = parent(i); |
| 107 | ((i > 1) && q->cmppri(q->getpri(q->d[parent_node]), moving_pri)); |
| 108 | i = parent_node, parent_node = parent(i)) |
| 109 | { |
| 110 | q->d[i] = q->d[parent_node]; |
| 111 | q->setpos(q->d[i], i); |
| 112 | } |
| 113 | |
| 114 | q->d[i] = moving_node; |
| 115 | q->setpos(moving_node, i); |
| 116 | } |
| 117 | |
| 118 | |
| 119 | static size_t |
no outgoing calls
no test coverage detected