summaryrefslogtreecommitdiff
path: root/sorters.h
blob: 669f5c45117d554cf0a0fb81d3d4e0a624d854f0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stddef.h>

void assert_sorted(int *buffer, size_t size);

typedef int  (*cmpfun)(const void *, const void *);
typedef void (*sorterfn)(void *, size_t, size_t, cmpfun);

void musl_qsort(void *, size_t, size_t, cmpfun);
void glibc_quicksort(void *, size_t, size_t, cmpfun);
void glibc_mergesort(void *, size_t, size_t, cmpfun);
void freebsd_qsort(void *, size_t, size_t, cmpfun);
void wikisort(void *, size_t, size_t, cmpfun);
void wikisort_ref(void *, size_t, size_t, cmpfun);

extern const struct sorter {
	const char *name;
	sorterfn func;
} sorters[];