|
6 | 6 | extern "C" { |
7 | 7 | #endif |
8 | 8 |
|
9 | | -#ifndef Py_LIMITED_API |
10 | | -typedef struct { |
11 | | - double real; |
12 | | - double imag; |
13 | | -} Py_complex; |
14 | | - |
15 | | -/* Operations on complex numbers from complexmodule.c */ |
16 | | - |
17 | | -PyAPI_FUNC(Py_complex) _Py_c_sum(Py_complex, Py_complex); |
18 | | -PyAPI_FUNC(Py_complex) _Py_c_diff(Py_complex, Py_complex); |
19 | | -PyAPI_FUNC(Py_complex) _Py_c_neg(Py_complex); |
20 | | -PyAPI_FUNC(Py_complex) _Py_c_prod(Py_complex, Py_complex); |
21 | | -PyAPI_FUNC(Py_complex) _Py_c_quot(Py_complex, Py_complex); |
22 | | -PyAPI_FUNC(Py_complex) _Py_c_pow(Py_complex, Py_complex); |
23 | | -PyAPI_FUNC(double) _Py_c_abs(Py_complex); |
24 | | -#endif |
25 | | - |
26 | 9 | /* Complex object interface */ |
27 | 10 |
|
28 | | -/* |
29 | | -PyComplexObject represents a complex number with double-precision |
30 | | -real and imaginary parts. |
31 | | -*/ |
32 | | -#ifndef Py_LIMITED_API |
33 | | -typedef struct { |
34 | | - PyObject_HEAD |
35 | | - Py_complex cval; |
36 | | -} PyComplexObject; |
37 | | -#endif |
38 | | - |
39 | 11 | PyAPI_DATA(PyTypeObject) PyComplex_Type; |
40 | 12 |
|
41 | 13 | #define PyComplex_Check(op) PyObject_TypeCheck(op, &PyComplex_Type) |
42 | 14 | #define PyComplex_CheckExact(op) Py_IS_TYPE(op, &PyComplex_Type) |
43 | 15 |
|
44 | | -#ifndef Py_LIMITED_API |
45 | | -PyAPI_FUNC(PyObject *) PyComplex_FromCComplex(Py_complex); |
46 | | -#endif |
47 | 16 | PyAPI_FUNC(PyObject *) PyComplex_FromDoubles(double real, double imag); |
48 | 17 |
|
49 | 18 | PyAPI_FUNC(double) PyComplex_RealAsDouble(PyObject *op); |
50 | 19 | PyAPI_FUNC(double) PyComplex_ImagAsDouble(PyObject *op); |
51 | | -#ifndef Py_LIMITED_API |
52 | | -PyAPI_FUNC(Py_complex) PyComplex_AsCComplex(PyObject *op); |
53 | | -#endif |
54 | 20 |
|
55 | | -/* Format the object based on the format_spec, as defined in PEP 3101 |
56 | | - (Advanced String Formatting). */ |
57 | 21 | #ifndef Py_LIMITED_API |
58 | | -PyAPI_FUNC(int) _PyComplex_FormatAdvancedWriter( |
59 | | - _PyUnicodeWriter *writer, |
60 | | - PyObject *obj, |
61 | | - PyObject *format_spec, |
62 | | - Py_ssize_t start, |
63 | | - Py_ssize_t end); |
| 22 | +# define Py_CPYTHON_COMPLEXOBJECT_H |
| 23 | +# include "cpython/complexobject.h" |
| 24 | +# undef Py_CPYTHON_COMPLEXOBJECT_H |
64 | 25 | #endif |
65 | 26 |
|
66 | 27 | #ifdef __cplusplus |
|
0 commit comments