MCPcopy Create free account
hub / github.com/1a1a11a/libCacheSim / percolate_down

Function percolate_down

libCacheSim/dataStructure/pqueue.c:135–152  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

133
134
135static void
136percolate_down(pqueue_t *q, size_t i)
137{
138 size_t child_node;
139 void *moving_node = q->d[i];
140 pqueue_pri_t moving_pri = q->getpri(moving_node);
141
142 while ((child_node = maxchild(q, i)) &&
143 q->cmppri(moving_pri, q->getpri(q->d[child_node])))
144 {
145 q->d[i] = q->d[child_node];
146 q->setpos(q->d[i], i);
147 i = child_node;
148 }
149
150 q->d[i] = moving_node;
151 q->setpos(moving_node, i);
152}
153
154
155int

Callers 3

pqueue_change_priorityFunction · 0.85
pqueue_removeFunction · 0.85
pqueue_popFunction · 0.85

Calls 1

maxchildFunction · 0.85

Tested by

no test coverage detected