X7ROOT File Manager
Current Path:
/opt/alt/python312/include/python3.12/internal
opt
/
alt
/
python312
/
include
/
python3.12
/
internal
/
ðŸ“
..
📄
pycore_abstract.h
(611 B)
📄
pycore_asdl.h
(2.96 KB)
📄
pycore_ast.h
(30.55 KB)
📄
pycore_ast_state.h
(6.59 KB)
📄
pycore_atexit.h
(1.12 KB)
📄
pycore_atomic.h
(16.58 KB)
📄
pycore_atomic_funcs.h
(2.38 KB)
📄
pycore_bitutils.h
(5.92 KB)
📄
pycore_blocks_output_buffer.h
(8.48 KB)
📄
pycore_bytes_methods.h
(3.3 KB)
📄
pycore_bytesobject.h
(1.31 KB)
📄
pycore_call.h
(3.83 KB)
📄
pycore_ceval.h
(5.14 KB)
📄
pycore_ceval_state.h
(2.68 KB)
📄
pycore_code.h
(15.46 KB)
📄
pycore_compile.h
(3.37 KB)
📄
pycore_condvar.h
(2.84 KB)
📄
pycore_context.h
(1.27 KB)
📄
pycore_descrobject.h
(499 B)
📄
pycore_dict.h
(6.23 KB)
📄
pycore_dict_state.h
(1.07 KB)
📄
pycore_dtoa.h
(1.58 KB)
📄
pycore_emscripten_signal.h
(562 B)
📄
pycore_exceptions.h
(842 B)
📄
pycore_faulthandler.h
(2.17 KB)
📄
pycore_fileutils.h
(7.72 KB)
📄
pycore_fileutils_windows.h
(2.66 KB)
📄
pycore_floatobject.h
(1.54 KB)
📄
pycore_flowgraph.h
(4.52 KB)
📄
pycore_format.h
(480 B)
📄
pycore_frame.h
(9.04 KB)
📄
pycore_function.h
(611 B)
📄
pycore_gc.h
(7.48 KB)
📄
pycore_genobject.h
(1.16 KB)
📄
pycore_getopt.h
(490 B)
📄
pycore_gil.h
(1.53 KB)
📄
pycore_global_objects.h
(2.96 KB)
📄
pycore_global_objects_fini_generated.h
(112.66 KB)
📄
pycore_global_strings.h
(24.84 KB)
📄
pycore_hamt.h
(3.65 KB)
📄
pycore_hashtable.h
(4.19 KB)
📄
pycore_import.h
(6.21 KB)
📄
pycore_initconfig.h
(5.57 KB)
📄
pycore_instruments.h
(2.93 KB)
📄
pycore_interp.h
(8.87 KB)
📄
pycore_intrinsics.h
(1.36 KB)
📄
pycore_list.h
(1.93 KB)
📄
pycore_long.h
(7.62 KB)
📄
pycore_memoryobject.h
(383 B)
📄
pycore_moduleobject.h
(1.16 KB)
📄
pycore_namespace.h
(392 B)
📄
pycore_object.h
(14.57 KB)
📄
pycore_object_state.h
(1016 B)
📄
pycore_obmalloc.h
(26.64 KB)
📄
pycore_obmalloc_init.h
(2.04 KB)
📄
pycore_opcode.h
(19.61 KB)
📄
pycore_opcode_utils.h
(2.62 KB)
📄
pycore_parser.h
(1.33 KB)
📄
pycore_pathconfig.h
(606 B)
📄
pycore_pyarena.h
(2.67 KB)
📄
pycore_pyerrors.h
(3.04 KB)
📄
pycore_pyhash.h
(709 B)
📄
pycore_pylifecycle.h
(3.29 KB)
📄
pycore_pymath.h
(8.4 KB)
📄
pycore_pymem.h
(2.97 KB)
📄
pycore_pymem_init.h
(2.59 KB)
📄
pycore_pystate.h
(4.87 KB)
📄
pycore_pythread.h
(2.03 KB)
📄
pycore_range.h
(346 B)
📄
pycore_runtime.h
(8.23 KB)
📄
pycore_runtime_init.h
(5.77 KB)
📄
pycore_runtime_init_generated.h
(44.68 KB)
📄
pycore_signal.h
(2.55 KB)
📄
pycore_sliceobject.h
(414 B)
📄
pycore_strhex.h
(937 B)
📄
pycore_structseq.h
(923 B)
📄
pycore_symtable.h
(6.87 KB)
📄
pycore_sysmodule.h
(999 B)
📄
pycore_time.h
(388 B)
📄
pycore_token.h
(2.98 KB)
📄
pycore_traceback.h
(3.42 KB)
📄
pycore_tracemalloc.h
(3 KB)
📄
pycore_tuple.h
(2.15 KB)
📄
pycore_typeobject.h
(4.62 KB)
📄
pycore_typevarobject.h
(763 B)
📄
pycore_ucnhash.h
(898 B)
📄
pycore_unicodeobject.h
(2.59 KB)
📄
pycore_unicodeobject_generated.h
(122.57 KB)
📄
pycore_unionobject.h
(682 B)
📄
pycore_warnings.h
(740 B)
Editing: pycore_hamt.h
#ifndef Py_INTERNAL_HAMT_H #define Py_INTERNAL_HAMT_H #ifndef Py_BUILD_CORE # error "this header requires Py_BUILD_CORE define" #endif /* HAMT tree is shaped by hashes of keys. Every group of 5 bits of a hash denotes the exact position of the key in one level of the tree. Since we're using 32 bit hashes, we can have at most 7 such levels. Although if there are two distinct keys with equal hashes, they will have to occupy the same cell in the 7th level of the tree -- so we'd put them in a "collision" node. Which brings the total possible tree depth to 8. Read more about the actual layout of the HAMT tree in `hamt.c`. This constant is used to define a datastucture for storing iteration state. */ #define _Py_HAMT_MAX_TREE_DEPTH 8 extern PyTypeObject _PyHamt_Type; extern PyTypeObject _PyHamt_ArrayNode_Type; extern PyTypeObject _PyHamt_BitmapNode_Type; extern PyTypeObject _PyHamt_CollisionNode_Type; extern PyTypeObject _PyHamtKeys_Type; extern PyTypeObject _PyHamtValues_Type; extern PyTypeObject _PyHamtItems_Type; /* other API */ #define PyHamt_Check(o) Py_IS_TYPE((o), &_PyHamt_Type) /* Abstract tree node. */ typedef struct { PyObject_HEAD } PyHamtNode; /* An HAMT immutable mapping collection. */ typedef struct { PyObject_HEAD PyHamtNode *h_root; PyObject *h_weakreflist; Py_ssize_t h_count; } PyHamtObject; typedef struct { PyObject_VAR_HEAD uint32_t b_bitmap; PyObject *b_array[1]; } PyHamtNode_Bitmap; /* A struct to hold the state of depth-first traverse of the tree. HAMT is an immutable collection. Iterators will hold a strong reference to it, and every node in the HAMT has strong references to its children. So for iterators, we can implement zero allocations and zero reference inc/dec depth-first iteration. - i_nodes: an array of seven pointers to tree nodes - i_level: the current node in i_nodes - i_pos: an array of positions within nodes in i_nodes. */ typedef struct { PyHamtNode *i_nodes[_Py_HAMT_MAX_TREE_DEPTH]; Py_ssize_t i_pos[_Py_HAMT_MAX_TREE_DEPTH]; int8_t i_level; } PyHamtIteratorState; /* Base iterator object. Contains the iteration state, a pointer to the HAMT tree, and a pointer to the 'yield function'. The latter is a simple function that returns a key/value tuple for the 'Items' iterator, just a key for the 'Keys' iterator, and a value for the 'Values' iterator. */ typedef struct { PyObject_HEAD PyHamtObject *hi_obj; PyHamtIteratorState hi_iter; binaryfunc hi_yield; } PyHamtIterator; /* Create a new HAMT immutable mapping. */ PyHamtObject * _PyHamt_New(void); /* Return a new collection based on "o", but with an additional key/val pair. */ PyHamtObject * _PyHamt_Assoc(PyHamtObject *o, PyObject *key, PyObject *val); /* Return a new collection based on "o", but without "key". */ PyHamtObject * _PyHamt_Without(PyHamtObject *o, PyObject *key); /* Find "key" in the "o" collection. Return: - -1: An error occurred. - 0: "key" wasn't found in "o". - 1: "key" is in "o"; "*val" is set to its value (a borrowed ref). */ int _PyHamt_Find(PyHamtObject *o, PyObject *key, PyObject **val); /* Check if "v" is equal to "w". Return: - 0: v != w - 1: v == w - -1: An error occurred. */ int _PyHamt_Eq(PyHamtObject *v, PyHamtObject *w); /* Return the size of "o"; equivalent of "len(o)". */ Py_ssize_t _PyHamt_Len(PyHamtObject *o); /* Return a Keys iterator over "o". */ PyObject * _PyHamt_NewIterKeys(PyHamtObject *o); /* Return a Values iterator over "o". */ PyObject * _PyHamt_NewIterValues(PyHamtObject *o); /* Return a Items iterator over "o". */ PyObject * _PyHamt_NewIterItems(PyHamtObject *o); #endif /* !Py_INTERNAL_HAMT_H */
Upload File
Create Folder