mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-01-31 03:27:39 +00:00
7b26b42769
This makes breaking changes to add underscores to many non-standard
function names provided by the c library. MODE=tiny is now tinier and
we now use smaller locks that are better for tiny apps in this mode.
Some headers have been renamed to be in the same folder as the build
package, so it'll be easier to know which build dependency is needed.
Certain old misguided interfaces have been removed. Intel intrinsics
headers are now listed in libc/isystem (but not in the amalgamation)
to help further improve open source compatibility. Header complexity
has also been reduced. Lastly, more shell scripts are now available.
Compared to 6f7d0cb1c3
, some tiny corrections were made in libc/intrin/g_fds.c and libc/zipos/open.c including double semi colons and incorrect indentation for existing vista changes that were manually pulled from this commit previously.
39 lines
1.7 KiB
C
39 lines
1.7 KiB
C
#ifndef COSMOPOLITAN_LIBC_ALG_ALG_H_
|
|
#define COSMOPOLITAN_LIBC_ALG_ALG_H_
|
|
#if !(__ASSEMBLER__ + __LINKER__ + 0)
|
|
COSMOPOLITAN_C_START_
|
|
|
|
void *bsearch(const void *, const void *, size_t, size_t,
|
|
int (*)(const void *, const void *))
|
|
paramsnonnull() dontthrow nosideeffect;
|
|
void *bsearch_r(const void *, const void *, size_t, size_t,
|
|
int (*)(const void *, const void *, void *), void *)
|
|
paramsnonnull((1, 2, 5)) dontthrow nosideeffect;
|
|
void djbsort(int32_t *, size_t);
|
|
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();
|
|
void qsort_r(void *, size_t, size_t,
|
|
int (*)(const void *, const void *, void *), void *)
|
|
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 *);
|
|
int _tarjan(int, const int (*)[2], int, int[], int[], int *)
|
|
paramsnonnull((2, 4)) nocallback dontthrow;
|
|
|
|
#define __algalloc returnspointerwithnoaliases dontthrow nocallback dontdiscard
|
|
|
|
char *_replacestr(const char *, const char *, const char *)
|
|
paramsnonnull() __algalloc;
|
|
|
|
COSMOPOLITAN_C_END_
|
|
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */
|
|
#endif /* COSMOPOLITAN_LIBC_ALG_ALG_H_ */
|