]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[docs] Mention how to get/set a bigint PyLong via the C API (GH-101270)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Tue, 24 Jan 2023 05:31:06 +0000 (21:31 -0800)
committerGitHub <noreply@github.com>
Tue, 24 Jan 2023 05:31:06 +0000 (21:31 -0800)
We don't need direct C APIs to get at a bigint representation of PyLong but we
do want the few people who need to understand how.

Additional Author:  CAM-Gerlach
(cherry picked from commit e244401ce508ad391295beb636e499fcc6797a2a)

Co-authored-by: Gregory P. Smith <greg@krypto.org>
Doc/c-api/long.rst

index bd3d731d8464b0ec3c9e61a1687d3704812a5fb0..b3e455d0a89c05b0adc23b307978321d329d2f55 100644 (file)
@@ -93,6 +93,10 @@ distinguished from a number.  Use :c:func:`PyErr_Occurred` to disambiguate.
    underscores after a base specifier and between digits are ignored.  If there
    are no digits, :exc:`ValueError` will be raised.
 
+   .. seealso:: Python methods :meth:`int.to_bytes` and :meth:`int.from_bytes`
+      to convert a :c:type:`PyLongObject` to/from an array of bytes in base
+      ``256``. You can call those from C using :c:func:`PyObject_CallMethod`.
+
 
 .. c:function:: PyObject* PyLong_FromUnicodeObject(PyObject *u, int base)