mirror of
https://github.com/python/cpython.git
synced 2025-12-15 21:44:50 +00:00
needforspeed: more stringlib refactoring
This commit is contained in:
parent
d532ba0746
commit
2d23d5bf2e
4 changed files with 161 additions and 147 deletions
|
|
@ -48,6 +48,39 @@ stringlib_rfind(const STRINGLIB_CHAR* str, Py_ssize_t str_len,
|
|||
return pos;
|
||||
}
|
||||
|
||||
#ifdef STRINGLIB_STR
|
||||
|
||||
Py_LOCAL(Py_ssize_t)
|
||||
stringlib_find_obj(PyObject* str, PyObject* sub,
|
||||
Py_ssize_t start, Py_ssize_t end)
|
||||
{
|
||||
return stringlib_find(
|
||||
STRINGLIB_STR(str) + start, end - start,
|
||||
STRINGLIB_STR(sub), STRINGLIB_LEN(sub), start
|
||||
);
|
||||
}
|
||||
|
||||
Py_LOCAL(int)
|
||||
stringlib_contains_obj(PyObject* str, PyObject* sub)
|
||||
{
|
||||
return stringlib_find(
|
||||
STRINGLIB_STR(str), STRINGLIB_LEN(str),
|
||||
STRINGLIB_STR(sub), STRINGLIB_LEN(sub), 0
|
||||
) != -1;
|
||||
}
|
||||
|
||||
Py_LOCAL(Py_ssize_t)
|
||||
stringlib_rfind_obj(PyObject* str, PyObject* sub,
|
||||
Py_ssize_t start, Py_ssize_t end)
|
||||
{
|
||||
return stringlib_rfind(
|
||||
STRINGLIB_STR(str) + start, end - start,
|
||||
STRINGLIB_STR(sub), STRINGLIB_LEN(sub), start
|
||||
);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue