Lines Matching refs:needle
62 /* use memchr if we can choose a needle without too many likely
65 unsigned char needle = ch & 0xff;
69 if (needle != 0) {
71 void *candidate = memchr(p, needle,
121 /* use memrchr if we can choose a needle without too many likely
125 unsigned char needle = ch & 0xff;
129 if (needle != 0) {
131 void *candidate = memrchr(s, needle,
177 LOG_STRING(needle, len_needle); LOG("\n"); \
186 STRINGLIB(_lex_search)(const STRINGLIB_CHAR *needle, Py_ssize_t len_needle,
190 >>> max(needle[i:] for i in range(len(needle)+1))
200 STRINGLIB_CHAR a = needle[candidate + k];
201 STRINGLIB_CHAR b = needle[max_suffix + k];
238 STRINGLIB(_factorize)(const STRINGLIB_CHAR *needle,
243 >>> needle = (left := needle[:cut]) + (right := needle[cut:])
275 cut1 = STRINGLIB(_lex_search)(needle, len_needle, &period1, 0);
276 cut2 = STRINGLIB(_lex_search)(needle, len_needle, &period2, 1);
288 LOG("split: "); LOG_STRING(needle, cut);
289 LOG(" + "); LOG_STRING(needle + cut, len_needle - cut);
305 const STRINGLIB_CHAR *needle;
316 STRINGLIB(_preprocess)(const STRINGLIB_CHAR *needle, Py_ssize_t len_needle,
319 p->needle = needle;
321 p->cut = STRINGLIB(_factorize)(needle, len_needle, &(p->period));
323 p->is_periodic = (0 == memcmp(needle,
324 needle + p->period,
337 STRINGLIB_CHAR last = needle[len_needle - 1] & TABLE_MASK;
339 STRINGLIB_CHAR x = needle[i] & TABLE_MASK;
355 p->table[needle[i] & TABLE_MASK] = shift;
368 const STRINGLIB_CHAR *const needle = p->needle;
373 LOG("===== Two-way: \"%s\" in \"%s\". =====\n", needle, haystack);
396 (needle[len_needle - 1] & TABLE_MASK));
399 if (needle[i] != window[i]) {
407 if (needle[i] != window[i]) {
454 (needle[len_needle - 1] & TABLE_MASK));
456 if (needle[i] != window[i]) {
464 if (needle[i] != window[i]) {
472 if (needle[i] != window[i]) {
490 const STRINGLIB_CHAR *needle,
493 LOG("###### Finding \"%s\" in \"%s\".\n", needle, haystack);
495 STRINGLIB(_preprocess)(needle, len_needle, &p);
503 const STRINGLIB_CHAR *needle,
507 LOG("###### Counting \"%s\" in \"%s\".\n", needle, haystack);
509 STRINGLIB(_preprocess)(needle, len_needle, &p);
768 /* For larger problems where the needle isn't a huge
783 entire needle, then we predict that the startup cost of