.. highlight:: c PyHash API ---------- See also the :c:member:`PyTypeObject.tp_hash` member. .. c:type:: Py_hash_t Hash value type: signed integer. .. versionadded:: 3.2 .. c:type:: Py_uhash_t Hash value type: unsigned integer. .. versionadded:: 3.2 .. c:type:: PyHash_FuncDef Hash function definition used by :c:func:`PyHash_GetFuncDef`. .. c::member:: Py_hash_t (*const hash)(const void *, Py_ssize_t) Hash function. .. c:member:: const char *name Hash function name (UTF-8 encoded string). .. c:member:: const int hash_bits Internal size of the hash value in bits. .. c:member:: const int seed_bits Size of seed input in bits. .. versionadded:: 3.4 .. c:function:: PyHash_FuncDef* PyHash_GetFuncDef(void) Get the hash function definition. .. seealso:: :pep:`456` "Secure and interchangeable hash algorithm". .. versionadded:: 3.4 .. c:function:: Py_hash_t Py_HashPointer(const void *ptr) Hash a pointer value: process the pointer value as an integer (cast it to ``uintptr_t`` internally). The pointer is not dereferenced. The function cannot fail: it cannot return ``-1``. .. versionadded:: 3.13