2023-11-14 22:41:29 -04:00
|
|
|
.. 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.
|
|
|
|
|
2023-12-03 07:21:48 -04:00
|
|
|
.. seealso::
|
|
|
|
:pep:`456` "Secure and interchangeable hash algorithm".
|
|
|
|
|
2023-11-14 22:41:29 -04:00
|
|
|
.. versionadded:: 3.4
|
2023-12-06 10:09:22 -04:00
|
|
|
|
|
|
|
|
|
|
|
.. 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
|