17db96d56Sopenharmony_ci/* Complex number structure */
27db96d56Sopenharmony_ci
37db96d56Sopenharmony_ci#ifndef Py_COMPLEXOBJECT_H
47db96d56Sopenharmony_ci#define Py_COMPLEXOBJECT_H
57db96d56Sopenharmony_ci#ifdef __cplusplus
67db96d56Sopenharmony_ciextern "C" {
77db96d56Sopenharmony_ci#endif
87db96d56Sopenharmony_ci
97db96d56Sopenharmony_ci/* Complex object interface */
107db96d56Sopenharmony_ci
117db96d56Sopenharmony_ciPyAPI_DATA(PyTypeObject) PyComplex_Type;
127db96d56Sopenharmony_ci
137db96d56Sopenharmony_ci#define PyComplex_Check(op) PyObject_TypeCheck(op, &PyComplex_Type)
147db96d56Sopenharmony_ci#define PyComplex_CheckExact(op) Py_IS_TYPE(op, &PyComplex_Type)
157db96d56Sopenharmony_ci
167db96d56Sopenharmony_ciPyAPI_FUNC(PyObject *) PyComplex_FromDoubles(double real, double imag);
177db96d56Sopenharmony_ci
187db96d56Sopenharmony_ciPyAPI_FUNC(double) PyComplex_RealAsDouble(PyObject *op);
197db96d56Sopenharmony_ciPyAPI_FUNC(double) PyComplex_ImagAsDouble(PyObject *op);
207db96d56Sopenharmony_ci
217db96d56Sopenharmony_ci#ifndef Py_LIMITED_API
227db96d56Sopenharmony_ci#  define Py_CPYTHON_COMPLEXOBJECT_H
237db96d56Sopenharmony_ci#  include "cpython/complexobject.h"
247db96d56Sopenharmony_ci#  undef Py_CPYTHON_COMPLEXOBJECT_H
257db96d56Sopenharmony_ci#endif
267db96d56Sopenharmony_ci
277db96d56Sopenharmony_ci#ifdef __cplusplus
287db96d56Sopenharmony_ci}
297db96d56Sopenharmony_ci#endif
307db96d56Sopenharmony_ci#endif /* !Py_COMPLEXOBJECT_H */
31