MCPcopy Create free account
hub / github.com/GJDuck/e9patch / qsort_partition

Function qsort_partition

examples/stdlib.c:5637–5653  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5635 memcpy(b, tmp, size);
5636}
5637static size_t qsort_partition(uint8_t *base, size_t size, ssize_t lo,
5638 ssize_t hi, int (*compare)(const void *, const void *))
5639{
5640 uint8_t *pivot = base + size * hi;
5641 ssize_t i = lo - 1;
5642 for (ssize_t j = lo; j < hi; j++)
5643 {
5644 if (compare(base + size * j, pivot) <= 0)
5645 {
5646 i++;
5647 qsort_swap(base + size * i, base + size * j, size);
5648 }
5649 }
5650 i++;
5651 qsort_swap(base + size * i, pivot, size);
5652 return i;
5653}
5654static void qsort_2(uint8_t *base, size_t size, ssize_t lo, ssize_t hi,
5655 int (*compare)(const void *, const void *))
5656{

Callers 1

qsort_2Function · 0.85

Calls 2

qsort_swapFunction · 0.85
compareFunction · 0.70

Tested by

no test coverage detected