#ifndef SORTERS_H #define SORTERS_H #include 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); void grailsort(void *, size_t, size_t, cmpfun); extern const struct sorter { const char *name; sorterfn func; } sorters[]; #endif