cosmopolitan/libc/mem/alg.h

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

33 lines
1.4 KiB
C
Raw Normal View History

2022-08-13 15:32:34 +00:00
#ifndef COSMOPOLITAN_LIBC_ALG_ALG_H_
#define COSMOPOLITAN_LIBC_ALG_ALG_H_
COSMOPOLITAN_C_START_
void *bsearch(const void *, const void *, size_t, size_t,
int (*)(const void *, const void *)) paramsnonnull() nosideeffect;
void qsort3(void *, size_t, size_t, int (*)(const void *, const void *))
paramsnonnull();
void qsort(void *, size_t, size_t, int (*)(const void *, const void *))
paramsnonnull();
2022-08-13 15:32:34 +00:00
void qsort_r(void *, size_t, size_t,
int (*)(const void *, const void *, void *), void *)
2022-08-13 15:32:34 +00:00
paramsnonnull((1, 4));
void smoothsort(void *, size_t, size_t, int (*)(const void *, const void *));
void smoothsort_r(void *, size_t, size_t,
int (*)(const void *, const void *, void *), void *);
int heapsort(void *, size_t, size_t, int (*)(const void *, const void *));
int heapsort_r(void *, size_t, size_t,
int (*)(const void *, const void *, void *), void *);
int mergesort(void *, size_t, size_t, int (*)(const void *, const void *));
int mergesort_r(void *, size_t, size_t,
int (*)(const void *, const void *, void *), void *);
2022-08-13 15:32:34 +00:00
2024-08-17 23:45:07 +00:00
#ifdef _COSMO_SOURCE
void djbsort(int32_t *, size_t) libcesque;
int radix_sort_int32(int32_t *, size_t) libcesque;
int radix_sort_int64(int64_t *, size_t) libcesque;
2024-08-17 23:45:07 +00:00
double levenshtein(const char *, const char *) libcesque;
#endif
2023-04-27 12:42:10 +00:00
2022-08-13 15:32:34 +00:00
COSMOPOLITAN_C_END_
#endif /* COSMOPOLITAN_LIBC_ALG_ALG_H_ */