102 items
NAME ↑ SIZE MODIFIED PERMS ACTIONS
.. / Parent Directory
cpython — dir
2026-06-04 04:18 · rwxr-xr-x
2026-06-04 04:18 rwxr-xr-x
internal — dir
2026-06-04 04:18 · rwxr-xr-x
2026-06-04 04:18 rwxr-xr-x
abstract.h — 29.76 KB
2025-10-31 18:40 · rw-r--r--
29.76 KB 2025-10-31 18:40 rw-r--r--
asdl.h — 1.2 KB
2025-10-31 18:40 · rw-r--r--
1.2 KB 2025-10-31 18:40 rw-r--r--
ast.h — 947 B
2025-10-31 18:40 · rw-r--r--
947 B 2025-10-31 18:40 rw-r--r--
bitset.h — 468 B
2025-10-31 18:40 · rw-r--r--
468 B 2025-10-31 18:40 rw-r--r--
bltinmodule.h — 264 B
2025-10-31 18:40 · rw-r--r--
264 B 2025-10-31 18:40 rw-r--r--
boolobject.h — 885 B
2025-10-31 18:40 · rw-r--r--
885 B 2025-10-31 18:40 rw-r--r--
bytearrayobject.h — 1.45 KB
2025-10-31 18:40 · rw-r--r--
1.45 KB 2025-10-31 18:40 rw-r--r--
bytesobject.h — 2.98 KB
2025-10-31 18:40 · rw-r--r--
2.98 KB 2025-10-31 18:40 rw-r--r--
cellobject.h — 712 B
2025-10-31 18:40 · rw-r--r--
712 B 2025-10-31 18:40 rw-r--r--
ceval.h — 5.81 KB
2025-10-31 18:40 · rw-r--r--
5.81 KB 2025-10-31 18:40 rw-r--r--
classobject.h — 1.62 KB
2025-10-31 18:40 · rw-r--r--
1.62 KB 2025-10-31 18:40 rw-r--r--
code.h — 318 B
2025-10-31 18:40 · rw-r--r--
318 B 2025-10-31 18:40 rw-r--r--
codecs.h — 6.63 KB
2025-10-31 18:40 · rw-r--r--
6.63 KB 2025-10-31 18:40 rw-r--r--
compile.h — 3.69 KB
2025-10-31 18:40 · rw-r--r--
3.69 KB 2025-10-31 18:40 rw-r--r--
complexobject.h — 1.76 KB
2025-10-31 18:40 · rw-r--r--
1.76 KB 2025-10-31 18:40 rw-r--r--
context.h — 1.92 KB
2025-10-31 18:40 · rw-r--r--
1.92 KB 2025-10-31 18:40 rw-r--r--
datetime.h — 9.04 KB
2025-10-31 18:40 · rw-r--r--
9.04 KB 2025-10-31 18:40 rw-r--r--
descrobject.h — 2.95 KB
2025-10-31 18:40 · rw-r--r--
2.95 KB 2025-10-31 18:40 rw-r--r--
dictobject.h — 3.63 KB
2025-10-31 18:40 · rw-r--r--
3.63 KB 2025-10-31 18:40 rw-r--r--
dynamic_annotations.h — 21.94 KB
2025-10-31 18:40 · rw-r--r--
21.94 KB 2025-10-31 18:40 rw-r--r--
enumobject.h — 253 B
2025-10-31 18:40 · rw-r--r--
253 B 2025-10-31 18:40 rw-r--r--
errcode.h — 1.59 KB
2025-10-31 18:40 · rw-r--r--
1.59 KB 2025-10-31 18:40 rw-r--r--
eval.h — 1.18 KB
2025-10-31 18:40 · rw-r--r--
1.18 KB 2025-10-31 18:40 rw-r--r--
exports.h — 1.07 KB
2025-10-31 18:40 · rw-r--r--
1.07 KB 2025-10-31 18:40 rw-r--r--
fileobject.h — 1.53 KB
2025-10-31 18:40 · rw-r--r--
1.53 KB 2025-10-31 18:40 rw-r--r--
fileutils.h — 597 B
2025-10-31 18:40 · rw-r--r--
597 B 2025-10-31 18:40 rw-r--r--
floatobject.h — 4.26 KB
2025-10-31 18:40 · rw-r--r--
4.26 KB 2025-10-31 18:40 rw-r--r--
frameobject.h — 337 B
2025-10-31 18:40 · rw-r--r--
337 B 2025-10-31 18:40 rw-r--r--
funcobject.h — 3.96 KB
2025-10-31 18:40 · rw-r--r--
3.96 KB 2025-10-31 18:40 rw-r--r--
genericaliasobject.h — 334 B
2025-10-31 18:40 · rw-r--r--
334 B 2025-10-31 18:40 rw-r--r--
genobject.h — 3.44 KB
2025-10-31 18:40 · rw-r--r--
3.44 KB 2025-10-31 18:40 rw-r--r--
graminit.h — 2.07 KB
2025-10-31 18:40 · rw-r--r--
2.07 KB 2025-10-31 18:40 rw-r--r--
grammar.h — 1.78 KB
2025-10-31 18:40 · rw-r--r--
1.78 KB 2025-10-31 18:40 rw-r--r--
import.h — 2.96 KB
2025-10-31 18:40 · rw-r--r--
2.96 KB 2025-10-31 18:40 rw-r--r--
interpreteridobject.h — 334 B
2025-10-31 18:40 · rw-r--r--
334 B 2025-10-31 18:40 rw-r--r--
intrcheck.h — 861 B
2025-10-31 18:40 · rw-r--r--
861 B 2025-10-31 18:40 rw-r--r--
iterobject.h — 521 B
2025-10-31 18:40 · rw-r--r--
521 B 2025-10-31 18:40 rw-r--r--
listobject.h — 1.74 KB
2025-10-31 18:40 · rw-r--r--
1.74 KB 2025-10-31 18:40 rw-r--r--
longintrepr.h — 3.71 KB
2025-10-31 18:40 · rw-r--r--
3.71 KB 2025-10-31 18:40 rw-r--r--
longobject.h — 9.29 KB
2025-10-31 18:40 · rw-r--r--
9.29 KB 2025-10-31 18:40 rw-r--r--
marshal.h — 803 B
2025-10-31 18:40 · rw-r--r--
803 B 2025-10-31 18:40 rw-r--r--
memoryobject.h — 2.7 KB
2025-10-31 18:40 · rw-r--r--
2.7 KB 2025-10-31 18:40 rw-r--r--
methodobject.h — 3.69 KB
2025-10-31 18:40 · rw-r--r--
3.69 KB 2025-10-31 18:40 rw-r--r--
modsupport.h — 10.21 KB
2026-04-27 17:28 · rw-r--r--
10.21 KB 2026-04-27 17:28 rw-r--r--
moduleobject.h — 2.31 KB
2025-10-31 18:40 · rw-r--r--
2.31 KB 2025-10-31 18:40 rw-r--r--
namespaceobject.h — 349 B
2025-10-31 18:40 · rw-r--r--
349 B 2025-10-31 18:40 rw-r--r--
node.h — 1.25 KB
2025-10-31 18:40 · rw-r--r--
1.25 KB 2025-10-31 18:40 rw-r--r--
object.h — 24.05 KB
2025-10-31 18:40 · rw-r--r--
24.05 KB 2025-10-31 18:40 rw-r--r--
objimpl.h — 8.23 KB
2025-10-31 18:40 · rw-r--r--
8.23 KB 2025-10-31 18:40 rw-r--r--
odictobject.h — 1.27 KB
2025-10-31 18:40 · rw-r--r--
1.27 KB 2025-10-31 18:40 rw-r--r--
opcode.h — 4.79 KB
2025-10-31 18:40 · rw-r--r--
4.79 KB 2025-10-31 18:40 rw-r--r--
osdefs.h — 737 B
2025-10-31 18:40 · rw-r--r--
737 B 2025-10-31 18:40 rw-r--r--
osmodule.h — 291 B
2025-10-31 18:40 · rw-r--r--
291 B 2025-10-31 18:40 rw-r--r--
parsetok.h — 2.89 KB
2025-10-31 18:40 · rw-r--r--
2.89 KB 2025-10-31 18:40 rw-r--r--
patchlevel.h — 1.27 KB
2025-10-31 18:40 · rw-r--r--
1.27 KB 2025-10-31 18:40 rw-r--r--
picklebufobject.h — 846 B
2025-10-31 18:40 · rw-r--r--
846 B 2025-10-31 18:40 rw-r--r--
py_curses.h — 2.42 KB
2025-10-31 18:40 · rw-r--r--
2.42 KB 2025-10-31 18:40 rw-r--r--
pyarena.h — 2.68 KB
2025-10-31 18:40 · rw-r--r--
2.68 KB 2025-10-31 18:40 rw-r--r--
pycapsule.h — 1.68 KB
2025-10-31 18:40 · rw-r--r--
1.68 KB 2025-10-31 18:40 rw-r--r--
pyconfig-64.h — 46.85 KB
2026-04-27 17:30 · rw-r--r--
46.85 KB 2026-04-27 17:30 rw-r--r--
pyconfig.h — 162 B
2026-04-27 17:39 · rw-r--r--
162 B 2026-04-27 17:39 rw-r--r--
pyctype.h — 1.35 KB
2025-10-31 18:40 · rw-r--r--
1.35 KB 2025-10-31 18:40 rw-r--r--
pydebug.h — 1.07 KB
2025-10-31 18:40 · rw-r--r--
1.07 KB 2025-10-31 18:40 rw-r--r--
pydtrace.h — 2.36 KB
2025-10-31 18:40 · rw-r--r--
2.36 KB 2025-10-31 18:40 rw-r--r--
pyerrors.h — 12.14 KB
2025-10-31 18:40 · rw-r--r--
12.14 KB 2025-10-31 18:40 rw-r--r--
pyexpat.h — 2.51 KB
2025-10-31 18:40 · rw-r--r--
2.51 KB 2025-10-31 18:40 rw-r--r--
pyfpe.h — 444 B
2025-10-31 18:40 · rw-r--r--
444 B 2025-10-31 18:40 rw-r--r--
pyframe.h — 466 B
2025-10-31 18:40 · rw-r--r--
466 B 2025-10-31 18:40 rw-r--r--
pyhash.h — 4.16 KB
2025-10-31 18:40 · rw-r--r--
4.16 KB 2025-10-31 18:40 rw-r--r--
pylifecycle.h — 2.09 KB
2025-10-31 18:40 · rw-r--r--
2.09 KB 2025-10-31 18:40 rw-r--r--
pymacconfig.h — 2.92 KB
2025-10-31 18:40 · rw-r--r--
2.92 KB 2025-10-31 18:40 rw-r--r--
pymacro.h — 4.8 KB
2025-10-31 18:40 · rw-r--r--
4.8 KB 2025-10-31 18:40 rw-r--r--
pymath.h — 8.38 KB
2025-10-31 18:40 · rw-r--r--
8.38 KB 2025-10-31 18:40 rw-r--r--
pymem.h — 4.3 KB
2025-10-31 18:40 · rw-r--r--
4.3 KB 2025-10-31 18:40 rw-r--r--
pyport.h — 30.54 KB
2025-10-31 18:40 · rw-r--r--
30.54 KB 2025-10-31 18:40 rw-r--r--
pystate.h — 5.13 KB
2025-10-31 18:40 · rw-r--r--
5.13 KB 2025-10-31 18:40 rw-r--r--
pystrcmp.h — 436 B
2025-10-31 18:40 · rw-r--r--
436 B 2025-10-31 18:40 rw-r--r--
pystrhex.h — 849 B
2025-10-31 18:40 · rw-r--r--
849 B 2025-10-31 18:40 rw-r--r--
pystrtod.h — 1.45 KB
2025-10-31 18:40 · rw-r--r--
1.45 KB 2025-10-31 18:40 rw-r--r--
Python-ast.h — 25.58 KB
2025-10-31 18:40 · rw-r--r--
25.58 KB 2025-10-31 18:40 rw-r--r--
Python.h — 3.45 KB
2025-10-31 18:40 · rw-r--r--
3.45 KB 2025-10-31 18:40 rw-r--r--
pythonrun.h — 7.49 KB
2025-10-31 18:40 · rw-r--r--
7.49 KB 2025-10-31 18:40 rw-r--r--
pythread.h — 5.8 KB
2025-10-31 18:40 · rw-r--r--
5.8 KB 2025-10-31 18:40 rw-r--r--
pytime.h — 8.72 KB
2025-10-31 18:40 · rw-r--r--
8.72 KB 2025-10-31 18:40 rw-r--r--
rangeobject.h — 628 B
2025-10-31 18:40 · rw-r--r--
628 B 2025-10-31 18:40 rw-r--r--
setobject.h — 3.25 KB
2025-10-31 18:40 · rw-r--r--
3.25 KB 2025-10-31 18:40 rw-r--r--
sliceobject.h — 2.46 KB
2025-10-31 18:40 · rw-r--r--
2.46 KB 2025-10-31 18:40 rw-r--r--
structmember.h — 1.98 KB
2025-10-31 18:40 · rw-r--r--
1.98 KB 2025-10-31 18:40 rw-r--r--
structseq.h — 1.36 KB
2025-10-31 18:40 · rw-r--r--
1.36 KB 2025-10-31 18:40 rw-r--r--
symtable.h — 5.18 KB
2025-10-31 18:40 · rw-r--r--
5.18 KB 2025-10-31 18:40 rw-r--r--
sysmodule.h — 1.21 KB
2025-10-31 18:40 · rw-r--r--
1.21 KB 2025-10-31 18:40 rw-r--r--
token.h — 2.58 KB
2025-10-31 18:40 · rw-r--r--
2.58 KB 2025-10-31 18:40 rw-r--r--
traceback.h — 584 B
2025-10-31 18:40 · rw-r--r--
584 B 2025-10-31 18:40 rw-r--r--
tracemalloc.h — 1.09 KB
2025-10-31 18:40 · rw-r--r--
1.09 KB 2025-10-31 18:40 rw-r--r--
tupleobject.h — 1.58 KB
2025-10-31 18:40 · rw-r--r--
1.58 KB 2025-10-31 18:40 rw-r--r--
typeslots.h — 2.29 KB
2025-10-31 18:40 · rw-r--r--
2.29 KB 2025-10-31 18:40 rw-r--r--
ucnhash.h — 1.03 KB
2025-10-31 18:40 · rw-r--r--
1.03 KB 2025-10-31 18:40 rw-r--r--
unicodeobject.h — 34.6 KB
2025-10-31 18:40 · rw-r--r--
34.6 KB 2025-10-31 18:40 rw-r--r--
warnings.h — 1.73 KB
2025-10-31 18:40 · rw-r--r--
1.73 KB 2025-10-31 18:40 rw-r--r--
weakrefobject.h — 2.8 KB
2025-10-31 18:40 · rw-r--r--
2.8 KB 2025-10-31 18:40 rw-r--r--
ONLINE
python3.9
102 items
01:37:59
TERMINAL FM
Edit
Preview
Download
Rename
Copy
Chmod
Delete
#ifndef Py_HASH_H #define Py_HASH_H #ifdef __cplusplus extern "C" { #endif /* Helpers for hash functions */ #ifndef Py_LIMITED_API PyAPI_FUNC(Py_hash_t) _Py_HashDouble(double); PyAPI_FUNC(Py_hash_t) _Py_HashPointer(const void*); // Similar to _Py_HashPointer(), but don't replace -1 with -2 PyAPI_FUNC(Py_hash_t) _Py_HashPointerRaw(const void*); PyAPI_FUNC(Py_hash_t) _Py_HashBytes(const void*, Py_ssize_t); #endif /* Prime multiplier used in string and various other hashes. */ #define _PyHASH_MULTIPLIER 1000003UL /* 0xf4243 */ /* Parameters used for the numeric hash implementation. See notes for _Py_HashDouble in Python/pyhash.c. Numeric hashes are based on reduction modulo the prime 2**_PyHASH_BITS - 1. */ #if SIZEOF_VOID_P >= 8 # define _PyHASH_BITS 61 #else # define _PyHASH_BITS 31 #endif #define _PyHASH_MODULUS (((size_t)1 << _PyHASH_BITS) - 1) #define _PyHASH_INF 314159 #define _PyHASH_NAN 0 #define _PyHASH_IMAG _PyHASH_MULTIPLIER /* hash secret * * memory layout on 64 bit systems * cccccccc cccccccc cccccccc uc -- unsigned char[24] * pppppppp ssssssss ........ fnv -- two Py_hash_t * k0k0k0k0 k1k1k1k1 ........ siphash -- two uint64_t * ........ ........ ssssssss djbx33a -- 16 bytes padding + one Py_hash_t * ........ ........ eeeeeeee pyexpat XML hash salt * * memory layout on 32 bit systems * cccccccc cccccccc cccccccc uc * ppppssss ........ ........ fnv -- two Py_hash_t * k0k0k0k0 k1k1k1k1 ........ siphash -- two uint64_t (*) * ........ ........ ssss.... djbx33a -- 16 bytes padding + one Py_hash_t * ........ ........ eeee.... pyexpat XML hash salt * * (*) The siphash member may not be available on 32 bit platforms without * an unsigned int64 data type. */ #ifndef Py_LIMITED_API typedef union { /* ensure 24 bytes */ unsigned char uc[24]; /* two Py_hash_t for FNV */ struct { Py_hash_t prefix; Py_hash_t suffix; } fnv; /* two uint64 for SipHash24 */ struct { uint64_t k0; uint64_t k1; } siphash; /* a different (!) Py_hash_t for small string optimization */ struct { unsigned char padding[16]; Py_hash_t suffix; } djbx33a; struct { unsigned char padding[16]; Py_hash_t hashsalt; } expat; } _Py_HashSecret_t; PyAPI_DATA(_Py_HashSecret_t) _Py_HashSecret; #endif #ifdef Py_DEBUG PyAPI_DATA(int) _Py_HashSecret_Initialized; #endif /* hash function definition */ #ifndef Py_LIMITED_API typedef struct { Py_hash_t (*const hash)(const void *, Py_ssize_t); const char *name; const int hash_bits; const int seed_bits; } PyHash_FuncDef; PyAPI_FUNC(PyHash_FuncDef*) PyHash_GetFuncDef(void); #endif /* cutoff for small string DJBX33A optimization in range [1, cutoff). * * About 50% of the strings in a typical Python application are smaller than * 6 to 7 chars. However DJBX33A is vulnerable to hash collision attacks. * NEVER use DJBX33A for long strings! * * A Py_HASH_CUTOFF of 0 disables small string optimization. 32 bit platforms * should use a smaller cutoff because it is easier to create colliding * strings. A cutoff of 7 on 64bit platforms and 5 on 32bit platforms should * provide a decent safety margin. */ #ifndef Py_HASH_CUTOFF # define Py_HASH_CUTOFF 0 #elif (Py_HASH_CUTOFF > 7 || Py_HASH_CUTOFF < 0) # error Py_HASH_CUTOFF must in range 0...7. #endif /* Py_HASH_CUTOFF */ /* hash algorithm selection * * The values for Py_HASH_SIPHASH24 and Py_HASH_FNV are hard-coded in the * configure script. * * - FNV is available on all platforms and architectures. * - SIPHASH24 only works on platforms that don't require aligned memory for integers. * - With EXTERNAL embedders can provide an alternative implementation with:: * * PyHash_FuncDef PyHash_Func = {...}; * * XXX: Figure out __declspec() for extern PyHash_FuncDef. */ #define Py_HASH_EXTERNAL 0 #define Py_HASH_SIPHASH24 1 #define Py_HASH_FNV 2 #ifndef Py_HASH_ALGORITHM # ifndef HAVE_ALIGNED_REQUIRED # define Py_HASH_ALGORITHM Py_HASH_SIPHASH24 # else # define Py_HASH_ALGORITHM Py_HASH_FNV # endif /* uint64_t && uint32_t && aligned */ #endif /* Py_HASH_ALGORITHM */ #ifdef __cplusplus } #endif #endif /* !Py_HASH_H */