summaryrefslogtreecommitdiffstats
path: root/Objects/longobject.c
diff options
context:
space:
mode:
authorSergey B Kirpichev <skirpichev@gmail.com>2024-06-03 12:06:31 (GMT)
committerGitHub <noreply@github.com>2024-06-03 12:06:31 (GMT)
commit61d3ab32da92e70bb97a544d76ef2b837501024f (patch)
tree46a12c70cc83c83e4e6942f0b7a7aa63191addb5 /Objects/longobject.c
parent367adc91fb9834eb35b168048fd54705621c3f21 (diff)
downloadcpython-61d3ab32da92e70bb97a544d76ef2b837501024f.zip
cpython-61d3ab32da92e70bb97a544d76ef2b837501024f.tar.gz
cpython-61d3ab32da92e70bb97a544d76ef2b837501024f.tar.bz2
gh-116560: Add PyLong_GetSign() public function (#116561)
Co-authored-by: Victor Stinner <vstinner@python.org>
Diffstat (limited to 'Objects/longobject.c')
-rw-r--r--Objects/longobject.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/Objects/longobject.c b/Objects/longobject.c
index 2dc2cb7..0546894 100644
--- a/Objects/longobject.c
+++ b/Objects/longobject.c
@@ -770,6 +770,18 @@ _PyLong_Sign(PyObject *vv)
return _PyLong_NonCompactSign(v);
}
+int
+PyLong_GetSign(PyObject *vv, int *sign)
+{
+ if (!PyLong_Check(vv)) {
+ PyErr_Format(PyExc_TypeError, "expect int, got %T", vv);
+ return -1;
+ }
+
+ *sign = _PyLong_Sign(vv);
+ return 0;
+}
+
static int
bit_length_digit(digit x)
{