PyHash API

See also thePyTypeObject.tp_hash member andHashing of numeric types.

typePy_hash_t

Hash value type: signed integer.

Added in version 3.2.

typePy_uhash_t

Hash value type: unsigned integer.

Added in version 3.2.

PyHASH_MODULUS

TheMersenne primeP=2**n-1, used for numeric hash scheme.

Added in version 3.13.

PyHASH_BITS

The exponentn ofP inPyHASH_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.

typePyHash_FuncDef

Hash function definition used byPyHash_GetFuncDef().

constchar*name

Hash function name (UTF-8 encoded string).

constinthash_bits

Internal size of the hash value in bits.

constintseed_bits

Size of seed input in bits.

Added in version 3.4.

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_tPy_HashPointer(constvoid*ptr)

Hash a pointer value: process the pointer value as an integer (cast it touintptr_t internally). The pointer is not dereferenced.

The function cannot fail: it cannot return-1.

Added in version 3.13.

Py_hash_tPyObject_GenericHash(PyObject*obj)

Generic hashing function that is meant to be put into a typeobject’stp_hash slot.Its result only depends on the object’s identity.

CPython implementation detail: In CPython, it is equivalent toPy_HashPointer().

Added in version 3.13.