** Choose an element in the middle (2nd-3th quarters) of [lo,up] ** "randomized" by 'rnd' */
| 330 | ** "randomized" by 'rnd' |
| 331 | */ |
| 332 | static IdxT choosePivot (IdxT lo, IdxT up, unsigned int rnd) { |
| 333 | IdxT r4 = (up - lo) / 4; /* range/4 */ |
| 334 | IdxT p = rnd % (r4 * 2) + (lo + r4); |
| 335 | lua_assert(lo + r4 <= p && p <= up - r4); |
| 336 | return p; |
| 337 | } |
| 338 | |
| 339 | |
| 340 | /* |