{ \
for(par_i = 1; (child_i = par_i * 2) <= nmemb; par_i = child_i) \
{ \
child = base + child_i * size; \
if(child_i < nmemb && compar(child, child + size) < 0) \
{ \
child += size; \
++child_i; \
} \
par = base + par_i * size; \
COPY(par, child, count, size, tmp1, tmp2); \
} \
for(;;) \
{ \
child_i = par_i; \
par_i = child_i / 2; \
child = base + child_i * size; \
par = base + par_i * size; \
if(child_i == 1 || compar(
k, par) < 0) \
{ \
COPY(child,
k, count, size, tmp1, tmp2); \
break; \
} \
COPY(child, par, count, size, tmp1, tmp2); \
} \
}
static const u_int32_t k
Definition: k_exp.c:35