pyo3_ffi/cpython/
longobject.rs1#[cfg(not(Py_3_13))]
2use crate::longobject::*;
3use crate::object::*;
4
5use core::ffi::c_int;
6
7#[cfg(not(Py_3_13))]
8use core::ffi::c_uchar;
9
10#[cfg(not(Py_3_13))]
11use libc::size_t;
12
13extern_libpython! {
16 #[cfg(Py_3_13)]
17 pub fn PyLong_FromUnicodeObject(u: *mut PyObject, base: c_int) -> *mut PyObject;
18
19 #[cfg(Py_3_14)]
23 pub fn PyLong_IsPositive(obj: *mut PyObject) -> c_int;
24 #[cfg(Py_3_14)]
25 pub fn PyLong_IsNegative(obj: *mut PyObject) -> c_int;
26 #[cfg(Py_3_14)]
27 pub fn PyLong_IsZero(obj: *mut PyObject) -> c_int;
28
29 #[cfg(not(Py_3_13))]
34 #[cfg_attr(PyPy, link_name = "_PyPyLong_FromByteArray")]
35 #[doc(hidden)] pub fn _PyLong_FromByteArray(
37 bytes: *const c_uchar,
38 n: size_t,
39 little_endian: c_int,
40 is_signed: c_int,
41 ) -> *mut PyObject;
42
43 #[cfg(not(Py_3_13))]
44 #[doc(hidden)] #[cfg_attr(PyPy, link_name = "_PyPyLong_AsByteArrayO")]
46 pub fn _PyLong_AsByteArray(
47 v: *mut PyLongObject,
48 bytes: *mut c_uchar,
49 n: size_t,
50 little_endian: c_int,
51 is_signed: c_int,
52 ) -> c_int;
53
54 }