PyHash API¶
See also the PyTypeObject.tp_hash member and Hashing of numeric types.
- 
type Py_hash_t¶
- Hash value type: signed integer. - Added in version 3.2. 
- 
type Py_uhash_t¶
- Hash value type: unsigned integer. - Added in version 3.2. 
- 
PyHASH_MODULUS¶
- The Mersenne prime - P = 2**n -1, used for numeric hash scheme.- Added in version 3.13. 
- 
PyHASH_BITS¶
- The exponent - nof- Pin- PyHASH_MODULUS.- Added in version 3.13. 
- 
PyHASH_MULTIPLIER¶
- Prime multiplier used in string and various other hashes. - Added in version 3.13. 
- 
PyHASH_INF¶
- The hash value returned for a positive infinity. - Added in version 3.13. 
- 
PyHASH_IMAG¶
- The multiplier used for the imaginary part of a complex number. - Added in version 3.13. 
- 
type PyHash_FuncDef¶
- Hash function definition used by - PyHash_GetFuncDef().- 
const char *name¶
- Hash function name (UTF-8 encoded string). 
 - 
const int hash_bits¶
- Internal size of the hash value in bits. 
 - 
const int seed_bits¶
- Size of seed input in bits. 
 - Added in version 3.4. 
- 
const char *name¶
- 
PyHash_FuncDef *PyHash_GetFuncDef(void)¶
- Get the hash function definition. - See also - PEP 456 “Secure and interchangeable hash algorithm”. - Added in version 3.4. 
- 
Py_hash_t Py_HashPointer(const void *ptr)¶
- Hash a pointer value: process the pointer value as an integer (cast it to - uintptr_tinternally). The pointer is not dereferenced.- The function cannot fail: it cannot return - -1.- Added in version 3.13. 
- 
Py_hash_t Py_HashBuffer(const void *ptr, Py_ssize_t len)¶
- Compute and return the hash value of a buffer of len bytes starting at address ptr. The hash is guaranteed to match that of - bytes,- memoryview, and other built-in objects that implement the buffer protocol.- Use this function to implement hashing for immutable objects whose - tp_richcomparefunction compares to another object’s buffer.- len must be greater than or equal to - 0.- This function always succeeds. - Added in version 3.14. 
- 
Py_hash_t PyObject_GenericHash(PyObject *obj)¶
- Generic hashing function that is meant to be put into a type object’s - tp_hashslot. Its result only depends on the object’s identity.- CPython implementation detail: In CPython, it is equivalent to - Py_HashPointer().- Added in version 3.13.