#[cfg(not(Py_3_13))]
use crate::longobject::*;
use crate::object::*;
use core::ffi::c_int;
#[cfg(not(Py_3_13))]
use core::ffi::c_uchar;
#[cfg(not(Py_3_13))]
use libc::size_t;
extern_libpython! {
#[cfg(Py_3_13)]
pub fn PyLong_FromUnicodeObject(u: *mut PyObject, base: c_int) -> *mut PyObject;
#[cfg(Py_3_14)]
pub fn PyLong_IsPositive(obj: *mut PyObject) -> c_int;
#[cfg(Py_3_14)]
pub fn PyLong_IsNegative(obj: *mut PyObject) -> c_int;
#[cfg(Py_3_14)]
pub fn PyLong_IsZero(obj: *mut PyObject) -> c_int;
#[cfg(not(Py_3_13))]
#[cfg_attr(PyPy, link_name = "_PyPyLong_FromByteArray")]
#[doc(hidden)] pub fn _PyLong_FromByteArray(
bytes: *const c_uchar,
n: size_t,
little_endian: c_int,
is_signed: c_int,
) -> *mut PyObject;
#[cfg(not(Py_3_13))]
#[doc(hidden)] #[cfg_attr(PyPy, link_name = "_PyPyLong_AsByteArrayO")]
pub fn _PyLong_AsByteArray(
v: *mut PyLongObject,
bytes: *mut c_uchar,
n: size_t,
little_endian: c_int,
is_signed: c_int,
) -> c_int;
}