#include "Python.h"
#include "pycore_call.h"
#include "pycore_complexobject.h"
#include "pycore_floatobject.h"
#include "pycore_long.h"
#include "pycore_object.h"
#include "pycore_pymath.h"
#include "clinic/complexobject.c.h"
static Py_complex c_1 = …;
Py_complex
_Py_c_sum(Py_complex a, Py_complex b)
{ … }
Py_complex
_Py_cr_sum(Py_complex a, double b)
{ … }
static inline Py_complex
_Py_rc_sum(double a, Py_complex b)
{ … }
Py_complex
_Py_c_diff(Py_complex a, Py_complex b)
{ … }
Py_complex
_Py_cr_diff(Py_complex a, double b)
{ … }
Py_complex
_Py_rc_diff(double a, Py_complex b)
{ … }
Py_complex
_Py_c_neg(Py_complex a)
{ … }
Py_complex
_Py_c_prod(Py_complex a, Py_complex b)
{ … }
Py_complex
_Py_cr_prod(Py_complex a, double b)
{ … }
static inline Py_complex
_Py_rc_prod(double a, Py_complex b)
{ … }
#ifdef _M_ARM64
#pragma optimize("", off)
#endif
Py_complex
_Py_c_quot(Py_complex a, Py_complex b)
{ … }
Py_complex
_Py_cr_quot(Py_complex a, double b)
{ … }
Py_complex
_Py_rc_quot(double a, Py_complex b)
{ … }
#ifdef _M_ARM64
#pragma optimize("", on)
#endif
Py_complex
_Py_c_pow(Py_complex a, Py_complex b)
{ … }
static Py_complex
c_powu(Py_complex x, long n)
{ … }
static Py_complex
c_powi(Py_complex x, long n)
{ … }
double
_Py_c_abs(Py_complex z)
{ … }
static PyObject *
complex_subtype_from_c_complex(PyTypeObject *type, Py_complex cval)
{ … }
PyObject *
PyComplex_FromCComplex(Py_complex cval)
{ … }
static PyObject *
complex_subtype_from_doubles(PyTypeObject *type, double real, double imag)
{ … }
PyObject *
PyComplex_FromDoubles(double real, double imag)
{ … }
static PyObject * try_complex_special_method(PyObject *);
double
PyComplex_RealAsDouble(PyObject *op)
{ … }
double
PyComplex_ImagAsDouble(PyObject *op)
{ … }
static PyObject *
try_complex_special_method(PyObject *op)
{ … }
Py_complex
PyComplex_AsCComplex(PyObject *op)
{ … }
static PyObject *
complex_repr(PyComplexObject *v)
{ … }
static Py_hash_t
complex_hash(PyComplexObject *v)
{ … }
#define TO_COMPLEX(obj, c) …
static int
real_to_double(PyObject **pobj, double *dbl)
{ … }
static int
real_to_complex(PyObject **pobj, Py_complex *pc)
{ … }
#define COMPLEX_BINOP(NAME, FUNC) …
COMPLEX_BINOP(…)
COMPLEX_BINOP(…)
COMPLEX_BINOP(…)
COMPLEX_BINOP(…)
static PyObject *
complex_pow(PyObject *v, PyObject *w, PyObject *z)
{ … }
static PyObject *
complex_neg(PyComplexObject *v)
{ … }
static PyObject *
complex_pos(PyComplexObject *v)
{ … }
static PyObject *
complex_abs(PyComplexObject *v)
{ … }
static int
complex_bool(PyComplexObject *v)
{ … }
static PyObject *
complex_richcompare(PyObject *v, PyObject *w, int op)
{ … }
static PyObject *
complex_conjugate_impl(PyComplexObject *self)
{ … }
static PyObject *
complex___getnewargs___impl(PyComplexObject *self)
{ … }
static PyObject *
complex___format___impl(PyComplexObject *self, PyObject *format_spec)
{ … }
static PyObject *
complex___complex___impl(PyComplexObject *self)
{ … }
static PyObject *
complex_from_string_inner(const char *s, Py_ssize_t len, void *type)
{ … }
static PyObject *
complex_subtype_from_string(PyTypeObject *type, PyObject *v)
{ … }
static PyObject *
actual_complex_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
{ … }
static PyObject *
complex_new_impl(PyTypeObject *type, PyObject *r, PyObject *i)
{ … }
static PyObject *
complex_from_number(PyTypeObject *type, PyObject *number)
{ … }
static PyMethodDef complex_methods[] = …;
static PyMemberDef complex_members[] = …;
static PyNumberMethods complex_as_number = …;
PyTypeObject PyComplex_Type = …;