Current Path: > > opt > alt > python312 > include > > python3.12 > internal
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
pycore_abstract.h | File | 611 bytes | June 03 2025 15:41:47. | |
pycore_asdl.h | File | 3035 bytes | June 03 2025 15:41:47. | |
pycore_ast.h | File | 31288 bytes | June 03 2025 15:41:47. | |
pycore_ast_state.h | File | 6749 bytes | June 03 2025 15:41:47. | |
pycore_atexit.h | File | 1149 bytes | June 03 2025 15:41:47. | |
pycore_atomic.h | File | 16979 bytes | June 03 2025 15:41:47. | |
pycore_atomic_funcs.h | File | 2438 bytes | June 03 2025 15:41:47. | |
pycore_bitutils.h | File | 6062 bytes | June 03 2025 15:41:47. | |
pycore_blocks_output_buffer.h | File | 8688 bytes | June 03 2025 15:41:47. | |
pycore_bytes_methods.h | File | 3384 bytes | June 03 2025 15:41:47. | |
pycore_bytesobject.h | File | 1339 bytes | June 03 2025 15:41:47. | |
pycore_call.h | File | 3920 bytes | June 03 2025 15:41:47. | |
pycore_ceval.h | File | 5265 bytes | June 03 2025 15:41:47. | |
pycore_ceval_state.h | File | 2744 bytes | June 03 2025 15:41:47. | |
pycore_code.h | File | 15835 bytes | June 03 2025 15:41:47. | |
pycore_compile.h | File | 3453 bytes | June 03 2025 15:41:47. | |
pycore_condvar.h | File | 2909 bytes | June 03 2025 15:41:47. | |
pycore_context.h | File | 1301 bytes | June 03 2025 15:41:47. | |
pycore_descrobject.h | File | 499 bytes | June 03 2025 15:41:47. | |
pycore_dict.h | File | 6384 bytes | June 03 2025 15:41:47. | |
pycore_dict_state.h | File | 1095 bytes | June 03 2025 15:41:47. | |
pycore_dtoa.h | File | 1615 bytes | June 03 2025 15:41:47. | |
pycore_emscripten_signal.h | File | 562 bytes | June 03 2025 15:41:47. | |
pycore_exceptions.h | File | 842 bytes | June 03 2025 15:41:47. | |
pycore_faulthandler.h | File | 2220 bytes | June 03 2025 15:41:47. | |
pycore_fileutils.h | File | 7910 bytes | June 03 2025 15:41:47. | |
pycore_fileutils_windows.h | File | 2724 bytes | June 03 2025 15:41:47. | |
pycore_floatobject.h | File | 1578 bytes | June 03 2025 15:41:47. | |
pycore_flowgraph.h | File | 4630 bytes | June 03 2025 15:41:47. | |
pycore_format.h | File | 480 bytes | June 03 2025 15:41:47. | |
pycore_frame.h | File | 9255 bytes | June 03 2025 15:41:47. | |
pycore_function.h | File | 611 bytes | June 03 2025 15:41:47. | |
pycore_gc.h | File | 7658 bytes | June 03 2025 15:41:47. | |
pycore_genobject.h | File | 1186 bytes | June 03 2025 15:41:47. | |
pycore_getopt.h | File | 490 bytes | June 03 2025 15:41:47. | |
pycore_gil.h | File | 1565 bytes | June 03 2025 15:41:47. | |
pycore_global_objects.h | File | 3035 bytes | June 03 2025 15:41:47. | |
pycore_global_objects_fini_generated.h | File | 115361 bytes | June 03 2025 15:41:47. | |
pycore_global_strings.h | File | 25438 bytes | June 03 2025 15:41:47. | |
pycore_hamt.h | File | 3742 bytes | June 03 2025 15:41:47. | |
pycore_hashtable.h | File | 4286 bytes | June 03 2025 15:41:47. | |
pycore_import.h | File | 6358 bytes | June 03 2025 15:41:47. | |
pycore_initconfig.h | File | 5706 bytes | June 03 2025 15:41:47. | |
pycore_instruments.h | File | 2998 bytes | June 03 2025 15:41:47. | |
pycore_interp.h | File | 9086 bytes | June 03 2025 15:41:47. | |
pycore_intrinsics.h | File | 1397 bytes | June 03 2025 15:41:47. | |
pycore_list.h | File | 1980 bytes | June 03 2025 15:41:47. | |
pycore_long.h | File | 7805 bytes | June 03 2025 15:41:47. | |
pycore_memoryobject.h | File | 383 bytes | June 03 2025 15:41:47. | |
pycore_moduleobject.h | File | 1192 bytes | June 03 2025 15:41:47. | |
pycore_namespace.h | File | 392 bytes | June 03 2025 15:41:47. | |
pycore_object.h | File | 14917 bytes | June 03 2025 15:41:47. | |
pycore_object_state.h | File | 1016 bytes | June 03 2025 15:41:47. | |
pycore_obmalloc.h | File | 27284 bytes | June 03 2025 15:41:47. | |
pycore_obmalloc_init.h | File | 2085 bytes | June 03 2025 15:41:47. | |
pycore_opcode.h | File | 20081 bytes | June 03 2025 15:41:47. | |
pycore_opcode_utils.h | File | 2686 bytes | June 03 2025 15:41:47. | |
pycore_parser.h | File | 1358 bytes | June 03 2025 15:41:47. | |
pycore_pathconfig.h | File | 606 bytes | June 03 2025 15:41:47. | |
pycore_pyarena.h | File | 2733 bytes | June 03 2025 15:41:47. | |
pycore_pyerrors.h | File | 3110 bytes | June 03 2025 15:41:47. | |
pycore_pyhash.h | File | 709 bytes | June 03 2025 15:41:47. | |
pycore_pylifecycle.h | File | 3365 bytes | June 03 2025 15:41:47. | |
pycore_pymath.h | File | 8600 bytes | June 03 2025 15:41:47. | |
pycore_pymem.h | File | 3040 bytes | June 03 2025 15:41:47. | |
pycore_pymem_init.h | File | 2654 bytes | June 03 2025 15:41:47. | |
pycore_pystate.h | File | 4982 bytes | June 03 2025 15:41:47. | |
pycore_pythread.h | File | 2075 bytes | June 03 2025 15:41:47. | |
pycore_range.h | File | 346 bytes | June 03 2025 15:41:47. | |
pycore_runtime.h | File | 8429 bytes | June 03 2025 15:41:47. | |
pycore_runtime_init.h | File | 5912 bytes | June 03 2025 15:41:47. | |
pycore_runtime_init_generated.h | File | 45751 bytes | June 03 2025 15:41:47. | |
pycore_signal.h | File | 2611 bytes | June 03 2025 15:41:47. | |
pycore_sliceobject.h | File | 414 bytes | June 03 2025 15:41:47. | |
pycore_strhex.h | File | 937 bytes | June 03 2025 15:41:47. | |
pycore_structseq.h | File | 923 bytes | June 03 2025 15:41:47. | |
pycore_symtable.h | File | 7035 bytes | June 03 2025 15:41:47. | |
pycore_sysmodule.h | File | 999 bytes | June 03 2025 15:41:47. | |
pycore_time.h | File | 388 bytes | June 03 2025 15:41:47. | |
pycore_token.h | File | 3050 bytes | June 03 2025 15:41:47. | |
pycore_traceback.h | File | 3501 bytes | June 03 2025 15:41:47. | |
pycore_tracemalloc.h | File | 3075 bytes | June 03 2025 15:41:47. | |
pycore_tuple.h | File | 2197 bytes | June 03 2025 15:41:47. | |
pycore_typeobject.h | File | 4731 bytes | June 03 2025 15:41:47. | |
pycore_typevarobject.h | File | 763 bytes | June 03 2025 15:41:47. | |
pycore_ucnhash.h | File | 898 bytes | June 03 2025 15:41:47. | |
pycore_unicodeobject.h | File | 2657 bytes | June 03 2025 15:41:47. | |
pycore_unicodeobject_generated.h | File | 125516 bytes | June 03 2025 15:41:47. | |
pycore_unionobject.h | File | 682 bytes | June 03 2025 15:41:47. | |
pycore_warnings.h | File | 740 bytes | June 03 2025 15:41:47. |
#ifndef Py_INTERNAL_LONG_H #define Py_INTERNAL_LONG_H #ifdef __cplusplus extern "C" { #endif #ifndef Py_BUILD_CORE # error "this header requires Py_BUILD_CORE define" #endif #include "pycore_global_objects.h" // _PY_NSMALLNEGINTS #include "pycore_runtime.h" // _PyRuntime /* * Default int base conversion size limitation: Denial of Service prevention. * * Chosen such that this isn't wildly slow on modern hardware and so that * everyone's existing deployed numpy test suite passes before * https://github.com/numpy/numpy/issues/22098 is widely available. * * $ python -m timeit -s 's = "1"*4300' 'int(s)' * 2000 loops, best of 5: 125 usec per loop * $ python -m timeit -s 's = "1"*4300; v = int(s)' 'str(v)' * 1000 loops, best of 5: 311 usec per loop * (zen2 cloud VM) * * 4300 decimal digits fits a ~14284 bit number. */ #define _PY_LONG_DEFAULT_MAX_STR_DIGITS 4300 /* * Threshold for max digits check. For performance reasons int() and * int.__str__() don't checks values that are smaller than this * threshold. Acts as a guaranteed minimum size limit for bignums that * applications can expect from CPython. * * % python -m timeit -s 's = "1"*640; v = int(s)' 'str(int(s))' * 20000 loops, best of 5: 12 usec per loop * * "640 digits should be enough for anyone." - gps * fits a ~2126 bit decimal number. */ #define _PY_LONG_MAX_STR_DIGITS_THRESHOLD 640 #if ((_PY_LONG_DEFAULT_MAX_STR_DIGITS != 0) && \ (_PY_LONG_DEFAULT_MAX_STR_DIGITS < _PY_LONG_MAX_STR_DIGITS_THRESHOLD)) # error "_PY_LONG_DEFAULT_MAX_STR_DIGITS smaller than threshold." #endif /* runtime lifecycle */ extern PyStatus _PyLong_InitTypes(PyInterpreterState *); extern void _PyLong_FiniTypes(PyInterpreterState *interp); /* other API */ #define _PyLong_SMALL_INTS _Py_SINGLETON(small_ints) // _PyLong_GetZero() and _PyLong_GetOne() must always be available // _PyLong_FromUnsignedChar must always be available #if _PY_NSMALLPOSINTS < 257 # error "_PY_NSMALLPOSINTS must be greater than or equal to 257" #endif // Return a borrowed reference to the zero singleton. // The function cannot return NULL. static inline PyObject* _PyLong_GetZero(void) { return (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS]; } // Return a borrowed reference to the one singleton. // The function cannot return NULL. static inline PyObject* _PyLong_GetOne(void) { return (PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS+1]; } static inline PyObject* _PyLong_FromUnsignedChar(unsigned char i) { return Py_NewRef((PyObject *)&_PyLong_SMALL_INTS[_PY_NSMALLNEGINTS+i]); } PyObject *_PyLong_Add(PyLongObject *left, PyLongObject *right); PyObject *_PyLong_Multiply(PyLongObject *left, PyLongObject *right); PyObject *_PyLong_Subtract(PyLongObject *left, PyLongObject *right); /* Used by Python/mystrtoul.c, _PyBytes_FromHex(), _PyBytes_DecodeEscape(), etc. */ PyAPI_DATA(unsigned char) _PyLong_DigitValue[256]; /* Format the object based on the format_spec, as defined in PEP 3101 (Advanced String Formatting). */ PyAPI_FUNC(int) _PyLong_FormatAdvancedWriter( _PyUnicodeWriter *writer, PyObject *obj, PyObject *format_spec, Py_ssize_t start, Py_ssize_t end); PyAPI_FUNC(int) _PyLong_FormatWriter( _PyUnicodeWriter *writer, PyObject *obj, int base, int alternate); PyAPI_FUNC(char*) _PyLong_FormatBytesWriter( _PyBytesWriter *writer, char *str, PyObject *obj, int base, int alternate); /* Long value tag bits: * 0-1: Sign bits value = (1-sign), ie. negative=2, positive=0, zero=1. * 2: Reserved for immortality bit * 3+ Unsigned digit count */ #define SIGN_MASK 3 #define SIGN_ZERO 1 #define SIGN_NEGATIVE 2 #define NON_SIZE_BITS 3 /* The functions _PyLong_IsCompact and _PyLong_CompactValue are defined * in Include/cpython/longobject.h, since they need to be inline. * * "Compact" values have at least one bit to spare, * so that addition and subtraction can be performed on the values * without risk of overflow. * * The inline functions need tag bits. * For readability, rather than do `#define SIGN_MASK _PyLong_SIGN_MASK` * we define them to the numbers in both places and then assert that * they're the same. */ static_assert(SIGN_MASK == _PyLong_SIGN_MASK, "SIGN_MASK does not match _PyLong_SIGN_MASK"); static_assert(NON_SIZE_BITS == _PyLong_NON_SIZE_BITS, "NON_SIZE_BITS does not match _PyLong_NON_SIZE_BITS"); /* All *compact" values are guaranteed to fit into * a Py_ssize_t with at least one bit to spare. * In other words, for 64 bit machines, compact * will be signed 63 (or fewer) bit values */ /* Return 1 if the argument is compact int */ static inline int _PyLong_IsNonNegativeCompact(const PyLongObject* op) { assert(PyLong_Check(op)); return op->long_value.lv_tag <= (1 << NON_SIZE_BITS); } static inline int _PyLong_BothAreCompact(const PyLongObject* a, const PyLongObject* b) { assert(PyLong_Check(a)); assert(PyLong_Check(b)); return (a->long_value.lv_tag | b->long_value.lv_tag) < (2 << NON_SIZE_BITS); } static inline bool _PyLong_IsZero(const PyLongObject *op) { return (op->long_value.lv_tag & SIGN_MASK) == SIGN_ZERO; } static inline bool _PyLong_IsNegative(const PyLongObject *op) { return (op->long_value.lv_tag & SIGN_MASK) == SIGN_NEGATIVE; } static inline bool _PyLong_IsPositive(const PyLongObject *op) { return (op->long_value.lv_tag & SIGN_MASK) == 0; } static inline Py_ssize_t _PyLong_DigitCount(const PyLongObject *op) { assert(PyLong_Check(op)); return op->long_value.lv_tag >> NON_SIZE_BITS; } /* Equivalent to _PyLong_DigitCount(op) * _PyLong_NonCompactSign(op) */ static inline Py_ssize_t _PyLong_SignedDigitCount(const PyLongObject *op) { assert(PyLong_Check(op)); Py_ssize_t sign = 1 - (op->long_value.lv_tag & SIGN_MASK); return sign * (Py_ssize_t)(op->long_value.lv_tag >> NON_SIZE_BITS); } static inline int _PyLong_CompactSign(const PyLongObject *op) { assert(PyLong_Check(op)); assert(_PyLong_IsCompact(op)); return 1 - (op->long_value.lv_tag & SIGN_MASK); } static inline int _PyLong_NonCompactSign(const PyLongObject *op) { assert(PyLong_Check(op)); assert(!_PyLong_IsCompact(op)); return 1 - (op->long_value.lv_tag & SIGN_MASK); } /* Do a and b have the same sign? */ static inline int _PyLong_SameSign(const PyLongObject *a, const PyLongObject *b) { return (a->long_value.lv_tag & SIGN_MASK) == (b->long_value.lv_tag & SIGN_MASK); } #define TAG_FROM_SIGN_AND_SIZE(sign, size) ((1 - (sign)) | ((size) << NON_SIZE_BITS)) static inline void _PyLong_SetSignAndDigitCount(PyLongObject *op, int sign, Py_ssize_t size) { assert(size >= 0); assert(-1 <= sign && sign <= 1); assert(sign != 0 || size == 0); op->long_value.lv_tag = TAG_FROM_SIGN_AND_SIZE(sign, (size_t)size); } static inline void _PyLong_SetDigitCount(PyLongObject *op, Py_ssize_t size) { assert(size >= 0); op->long_value.lv_tag = (((size_t)size) << NON_SIZE_BITS) | (op->long_value.lv_tag & SIGN_MASK); } #define NON_SIZE_MASK ~((1 << NON_SIZE_BITS) - 1) static inline void _PyLong_FlipSign(PyLongObject *op) { unsigned int flipped_sign = 2 - (op->long_value.lv_tag & SIGN_MASK); op->long_value.lv_tag &= NON_SIZE_MASK; op->long_value.lv_tag |= flipped_sign; } #define _PyLong_DIGIT_INIT(val) \ { \ .ob_base = _PyObject_HEAD_INIT(&PyLong_Type) \ .long_value = { \ .lv_tag = TAG_FROM_SIGN_AND_SIZE( \ (val) == 0 ? 0 : ((val) < 0 ? -1 : 1), \ (val) == 0 ? 0 : 1), \ { ((val) >= 0 ? (val) : -(val)) }, \ } \ } #define _PyLong_FALSE_TAG TAG_FROM_SIGN_AND_SIZE(0, 0) #define _PyLong_TRUE_TAG TAG_FROM_SIGN_AND_SIZE(1, 1) #ifdef __cplusplus } #endif #endif /* !Py_INTERNAL_LONG_H */
SILENT KILLER Tool