pyforge_ffi/
boolobject.rs1use crate::longobject::PyLongObject;
2use crate::object::*;
3use std::ffi::{c_int, c_long};
4
5#[inline]
6pub unsafe fn PyBool_Check(op: *mut PyObject) -> c_int {
7 (Py_TYPE(op) == &raw mut PyBool_Type) as c_int
8}
9
10extern_libpython! {
11 static mut _Py_FalseStruct: PyLongObject;
12 static mut _Py_TrueStruct: PyLongObject;
13}
14
15#[inline]
16pub unsafe fn Py_False() -> *mut PyObject {
17 (&raw mut _Py_FalseStruct).cast()
18}
19
20#[inline]
21pub unsafe fn Py_True() -> *mut PyObject {
22 (&raw mut _Py_TrueStruct).cast()
23}
24
25#[inline]
26pub unsafe fn Py_IsTrue(x: *mut PyObject) -> c_int {
27 Py_Is(x, Py_True())
28}
29
30#[inline]
31pub unsafe fn Py_IsFalse(x: *mut PyObject) -> c_int {
32 Py_Is(x, Py_False())
33}
34
35extern_libpython! {
39 pub fn PyBool_FromLong(arg1: c_long) -> *mut PyObject;
40}