|
Lines 185-203
loop: SWAPINIT(a, es);
Link Here
|
| 185 |
vecswap(a, pb - r, r); |
185 |
vecswap(a, pb - r, r); |
| 186 |
r = min(pd - pc, pn - pd - es); |
186 |
r = min(pd - pc, pn - pd - es); |
| 187 |
vecswap(pb, pn - r, r); |
187 |
vecswap(pb, pn - r, r); |
| 188 |
if ((r = pb - pa) > es) |
188 |
if ((pb - pa) < (pd - pc)) { |
|
|
189 |
if ((r = pb - pa) > es) |
| 189 |
#ifdef I_AM_QSORT_R |
190 |
#ifdef I_AM_QSORT_R |
| 190 |
rk_qsort_r(a, r / es, es, thunk, cmp); |
191 |
rk_qsort_r(a, r / es, es, thunk, cmp); |
| 191 |
#else |
192 |
#else |
| 192 |
rk_qsort(a, r / es, es, cmp); |
193 |
rk_qsort(a, r / es, es, cmp); |
| 193 |
#endif |
194 |
#endif |
| 194 |
if ((r = pd - pc) > es) { |
195 |
if ((r = pd - pc) > es) { |
| 195 |
/* Iterate rather than recurse to save stack space */ |
196 |
/* Iterate rather than recurse to save stack space */ |
| 196 |
a = pn - r; |
197 |
a = pn - r; |
| 197 |
n = r / es; |
198 |
n = r / es; |
| 198 |
goto loop; |
199 |
goto loop; |
|
|
200 |
} |
| 201 |
/* rk_qsort(pn - r, r / es, es, cmp);*/ |
| 202 |
} else { |
| 203 |
if ((r = pd - pc) > es) |
| 204 |
#ifdef I_AM_QSORT_R |
| 205 |
rk_qsort_r(pn - r, r / es, es, thunk, cmp); |
| 206 |
#else |
| 207 |
rk_qsort(pn - r, r / es, es, cmp); |
| 208 |
#endif |
| 209 |
if ((r = pb - pa) > es) { |
| 210 |
/* Iterate rather than recurse to save stack space */ |
| 211 |
/* a = a; */ |
| 212 |
n = r / es; |
| 213 |
goto loop; |
| 214 |
} |
| 215 |
/* rk_qsort(a, r / es, es, cmp);*/ |
| 199 |
} |
216 |
} |
| 200 |
/* rk_qsort(pn - r, r / es, es, cmp);*/ |
|
|
| 201 |
} |
217 |
} |
| 202 |
|
218 |
|
| 203 |
#endif /* NEED_QSORT */ |
219 |
#endif /* NEED_QSORT */ |