Mercurial > repos > rliterman > csp2
comparison CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/python3.8/complexobject.h @ 69:33d812a61356
planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author | jpayne |
---|---|
date | Tue, 18 Mar 2025 17:55:14 -0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
67:0e9998148a16 | 69:33d812a61356 |
---|---|
1 /* Complex number structure */ | |
2 | |
3 #ifndef Py_COMPLEXOBJECT_H | |
4 #define Py_COMPLEXOBJECT_H | |
5 #ifdef __cplusplus | |
6 extern "C" { | |
7 #endif | |
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 /* Complex object interface */ | |
27 | |
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 PyAPI_DATA(PyTypeObject) PyComplex_Type; | |
40 | |
41 #define PyComplex_Check(op) PyObject_TypeCheck(op, &PyComplex_Type) | |
42 #define PyComplex_CheckExact(op) (Py_TYPE(op) == &PyComplex_Type) | |
43 | |
44 #ifndef Py_LIMITED_API | |
45 PyAPI_FUNC(PyObject *) PyComplex_FromCComplex(Py_complex); | |
46 #endif | |
47 PyAPI_FUNC(PyObject *) PyComplex_FromDoubles(double real, double imag); | |
48 | |
49 PyAPI_FUNC(double) PyComplex_RealAsDouble(PyObject *op); | |
50 PyAPI_FUNC(double) PyComplex_ImagAsDouble(PyObject *op); | |
51 #ifndef Py_LIMITED_API | |
52 PyAPI_FUNC(Py_complex) PyComplex_AsCComplex(PyObject *op); | |
53 #endif | |
54 | |
55 /* Format the object based on the format_spec, as defined in PEP 3101 | |
56 (Advanced String Formatting). */ | |
57 #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); | |
64 #endif | |
65 | |
66 #ifdef __cplusplus | |
67 } | |
68 #endif | |
69 #endif /* !Py_COMPLEXOBJECT_H */ |