summaryrefslogtreecommitdiff
path: root/lib/libc/stdlib/heapsort.c
diff options
context:
space:
mode:
authorKacper <kacper@mail.openlinux.dev>2025-12-25 19:24:38 +0100
committerKacper <kacper@mail.openlinux.dev>2025-12-25 20:35:03 +0100
commita984eb367c032dbe2577f01238c3d1268526be70 (patch)
tree437fef40379b2758b129ccea39df3570fa2d145e /lib/libc/stdlib/heapsort.c
parent8834571b202cf4dc9c649cfb096c213b6ecf1566 (diff)
Clang-tidy fixes
Diffstat (limited to 'lib/libc/stdlib/heapsort.c')
-rw-r--r--lib/libc/stdlib/heapsort.c77
1 files changed, 36 insertions, 41 deletions
diff --git a/lib/libc/stdlib/heapsort.c b/lib/libc/stdlib/heapsort.c
index 20922f12..b6b97430 100644
--- a/lib/libc/stdlib/heapsort.c
+++ b/lib/libc/stdlib/heapsort.c
@@ -68,21 +68,19 @@
* There two cases. If j == nmemb, select largest of Ki and Kj. If
* j < nmemb, select largest of Ki, Kj and Kj+1.
*/
-#define CREATE(initval, nmemb, par_i, child_i, par, child, size, count, tmp) \
- { \
- for ((par_i) = initval; ((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); \
- if (compar(child, par) <= 0) \
- break; \
- SWAP(par, child, count, size, tmp); \
- } \
+#define CREATE(initval, nmemb, par_i, child_i, par, child, size, count, tmp) \
+ { \
+ for ((par_i) = initval; ((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); \
+ if (compar(child, par) <= 0) \
+ break; \
+ SWAP(par, child, count, size, tmp); \
+ } \
}
/*
@@ -102,30 +100,28 @@
*
* XXX Don't break the #define SELECT line, below. Reiser cpp gets upset.
*/
-#define SELECT(par_i, child_i, nmemb, par, child, size, k, count, tmp1, tmp2) \
- { \
- 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); \
- } \
+#define SELECT(par_i, child_i, nmemb, par, child, size, k, count, tmp1, tmp2) \
+ { \
+ 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); \
+ } \
}
/*
@@ -135,8 +131,7 @@
* a data set that will trigger the worst case is nonexistent. Heapsort's
* only advantage over quicksort is that it requires little additional memory.
*/
-int heapsort(void *vbase, size_t nmemb, size_t size,
- int (*compar)(const void *, const void *))
+int heapsort(void *vbase, size_t nmemb, size_t size, int (*compar)(const void *, const void *))
{
size_t cnt;
size_t i;