diff options
author | Sergey B Kirpichev <skirpichev@gmail.com> | 2024-06-03 12:06:31 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-03 12:06:31 (GMT) |
commit | 61d3ab32da92e70bb97a544d76ef2b837501024f (patch) | |
tree | 46a12c70cc83c83e4e6942f0b7a7aa63191addb5 /Objects/longobject.c | |
parent | 367adc91fb9834eb35b168048fd54705621c3f21 (diff) | |
download | cpython-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.c | 12 |
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) { |