- for (i = n - size; i >= 0; i -= size) {
- swap(base, base + i, size);
- for (r = 0; r * 2 < i; r = c) {
- c = r * 2;
- if (c < i - size && cmp(base + c, base + c + size) < 0)
+ for (i = n - size; i > 0; i -= size) {
+ swap_func(base, base + i, size);
+ for (r = 0; r * 2 + size < i; r = c) {
+ c = r * 2 + size;
+ if (c < i - size &&
+ cmp_func(base + c, base + c + size) < 0)