Browse Source
bpo-40170: Add _PyIndex_Check() internal function (GH-19426)
bpo-40170: Add _PyIndex_Check() internal function (GH-19426)
Add _PyIndex_Check() function to the internal C API: fast inlined verson of PyIndex_Check(). Add Include/internal/pycore_abstract.h header file. Replace PyIndex_Check() with _PyIndex_Check() in C files of Objects and Python subdirectories.pull/19428/head
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
17 changed files with 72 additions and 30 deletions
-
22Include/internal/pycore_abstract.h
-
1Makefile.pre.in
-
20Objects/abstract.c
-
7Objects/bytearrayobject.c
-
3Objects/bytes_methods.c
-
5Objects/bytesobject.c
-
5Objects/interpreteridobject.c
-
5Objects/listobject.c
-
8Objects/memoryobject.c
-
5Objects/rangeobject.c
-
3Objects/sliceobject.c
-
3Objects/tupleobject.c
-
3Objects/unicodeobject.c
-
1PCbuild/pythoncore.vcxproj
-
3PCbuild/pythoncore.vcxproj.filters
-
5Python/ceval.c
-
3Python/modsupport.c
@ -0,0 +1,22 @@ |
|||
#ifndef Py_INTERNAL_ABSTRACT_H |
|||
#define Py_INTERNAL_ABSTRACT_H |
|||
#ifdef __cplusplus |
|||
extern "C" { |
|||
#endif |
|||
|
|||
#ifndef Py_BUILD_CORE |
|||
# error "this header requires Py_BUILD_CORE define" |
|||
#endif |
|||
|
|||
// Fast inlined version of PyIndex_Check() |
|||
static inline int |
|||
_PyIndex_Check(PyObject *obj) |
|||
{ |
|||
PyNumberMethods *tp_as_number = Py_TYPE(obj)->tp_as_number; |
|||
return (tp_as_number != NULL && tp_as_number->nb_index != NULL); |
|||
} |
|||
|
|||
#ifdef __cplusplus |
|||
} |
|||
#endif |
|||
#endif /* !Py_INTERNAL_ABSTRACT_H */ |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue