Skip to main content

pyforge_ffi/
complexobject.rs

1use crate::object::*;
2use std::ffi::{c_double, c_int};
3
4extern_libpython! {
5    pub static mut PyComplex_Type: PyTypeObject;
6}
7
8#[inline]
9pub unsafe fn PyComplex_Check(op: *mut PyObject) -> c_int {
10    PyObject_TypeCheck(op, &raw mut PyComplex_Type)
11}
12
13#[inline]
14pub unsafe fn PyComplex_CheckExact(op: *mut PyObject) -> c_int {
15    Py_IS_TYPE(op, &raw mut PyComplex_Type)
16}
17
18extern_libpython! {
19    // skipped non-limited PyComplex_FromCComplex
20    pub fn PyComplex_FromDoubles(real: c_double, imag: c_double) -> *mut PyObject;
21
22    pub fn PyComplex_RealAsDouble(op: *mut PyObject) -> c_double;
23    pub fn PyComplex_ImagAsDouble(op: *mut PyObject) -> c_double;
24}