Lines Matching full:curr
100 static void FloatDown( PriorityQ *pq, long curr )
107 hCurr = n[curr].handle;
109 child = curr << 1;
119 n[curr].handle = hCurr;
120 h[hCurr].node = curr;
123 n[curr].handle = hChild;
124 h[hChild].node = curr;
125 curr = child;
130 static void FloatUp( PriorityQ *pq, long curr )
137 hCurr = n[curr].handle;
139 parent = curr >> 1;
142 n[curr].handle = hCurr;
143 h[hCurr].node = curr;
146 n[curr].handle = hParent;
147 h[hParent].node = curr;
148 curr = parent;
169 long curr;
172 curr = ++ pq->size;
173 if( (curr*2) > pq->max ) {
197 free = curr;
203 pq->nodes[curr].handle = free;
204 pq->handles[free].node = curr;
208 FloatUp( pq, curr );
242 long curr;
246 curr = h[hCurr].node;
247 n[curr].handle = n[pq->size].handle;
248 h[n[curr].handle].node = curr;
250 if( curr <= -- pq->size ) {
251 if( curr <= 1 || LEQ( h[n[curr>>1].handle].key, h[n[curr].handle].key )) {
252 FloatDown( pq, curr );
254 FloatUp( pq, curr );