cosmopolitan/libc/str/kmp.h
Justine Tunney 7c83f4abc8
Make improvements
- wcsstr() is now linearly complex
- strstr16() is now linearly complex
- strstr() is now vectorized on aarch64 (10x)
- strstr() now uses KMP on pathological cases
- memmem() is now vectorized on aarch64 (10x)
- memmem() now uses KMP on pathological cases
- Disable shared_ptr::owner_before until fixed
- Make iswlower(), iswupper() consistent with glibc
- Remove figure space from iswspace() implementation
- Include line and paragraph separator in iswcntrl()
- Use Musl wcwidth(), iswalpha(), iswpunct(), towlower(), towupper()
2024-09-01 01:27:47 -07:00

10 lines
377 B
C

#ifndef COSMOPOLITAN_LIBC_STR_KMP_H_
#define COSMOPOLITAN_LIBC_STR_KMP_H_
COSMOPOLITAN_C_START_
char *__memmem_kmp(const char *, size_t, const char *, size_t);
char16_t *__memmem_kmp16(const char16_t *, size_t, const char16_t *, size_t);
wchar_t *__memmem_kmp32(const wchar_t *, size_t, const wchar_t *, size_t);
COSMOPOLITAN_C_END_
#endif /* COSMOPOLITAN_LIBC_STR_KMP_H_ */