summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2023-11-15 02:41:29 (GMT)
committerGitHub <noreply@github.com>2023-11-15 02:41:29 (GMT)
commit55f3cce821f8f18ddb485aa07bdf0190c358d081 (patch)
treee3a5984dba95733646cc19a14d236c33548ccd28 /Doc
parente0f512797596282bff63260f8102592aad37cdf1 (diff)
downloadcpython-55f3cce821f8f18ddb485aa07bdf0190c358d081.zip
cpython-55f3cce821f8f18ddb485aa07bdf0190c358d081.tar.gz
cpython-55f3cce821f8f18ddb485aa07bdf0190c358d081.tar.bz2
gh-111545: Test PyHash_GetFuncDef() function (#112098)
Add Modules/_testcapi/hash.c and Lib/test/test_capi/test_hash.py.
Diffstat (limited to 'Doc')
-rw-r--r--Doc/c-api/hash.rst48
-rw-r--r--Doc/c-api/utilities.rst1
2 files changed, 49 insertions, 0 deletions
diff --git a/Doc/c-api/hash.rst b/Doc/c-api/hash.rst
new file mode 100644
index 0000000..4dc121d
--- /dev/null
+++ b/Doc/c-api/hash.rst
@@ -0,0 +1,48 @@
+.. 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.
+
+ .. versionadded:: 3.4
diff --git a/Doc/c-api/utilities.rst b/Doc/c-api/utilities.rst
index ccbf14e..48ae54a 100644
--- a/Doc/c-api/utilities.rst
+++ b/Doc/c-api/utilities.rst
@@ -17,6 +17,7 @@ and parsing function arguments and constructing Python values from C values.
marshal.rst
arg.rst
conversion.rst
+ hash.rst
reflection.rst
codec.rst
perfmaps.rst