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