17db96d56Sopenharmony_ci/*[clinic input]
27db96d56Sopenharmony_cipreserve
37db96d56Sopenharmony_ci[clinic start generated code]*/
47db96d56Sopenharmony_ci
57db96d56Sopenharmony_ciPyDoc_STRVAR(complex_conjugate__doc__,
67db96d56Sopenharmony_ci"conjugate($self, /)\n"
77db96d56Sopenharmony_ci"--\n"
87db96d56Sopenharmony_ci"\n"
97db96d56Sopenharmony_ci"Return the complex conjugate of its argument. (3-4j).conjugate() == 3+4j.");
107db96d56Sopenharmony_ci
117db96d56Sopenharmony_ci#define COMPLEX_CONJUGATE_METHODDEF    \
127db96d56Sopenharmony_ci    {"conjugate", (PyCFunction)complex_conjugate, METH_NOARGS, complex_conjugate__doc__},
137db96d56Sopenharmony_ci
147db96d56Sopenharmony_cistatic PyObject *
157db96d56Sopenharmony_cicomplex_conjugate_impl(PyComplexObject *self);
167db96d56Sopenharmony_ci
177db96d56Sopenharmony_cistatic PyObject *
187db96d56Sopenharmony_cicomplex_conjugate(PyComplexObject *self, PyObject *Py_UNUSED(ignored))
197db96d56Sopenharmony_ci{
207db96d56Sopenharmony_ci    return complex_conjugate_impl(self);
217db96d56Sopenharmony_ci}
227db96d56Sopenharmony_ci
237db96d56Sopenharmony_ciPyDoc_STRVAR(complex___getnewargs____doc__,
247db96d56Sopenharmony_ci"__getnewargs__($self, /)\n"
257db96d56Sopenharmony_ci"--\n"
267db96d56Sopenharmony_ci"\n");
277db96d56Sopenharmony_ci
287db96d56Sopenharmony_ci#define COMPLEX___GETNEWARGS___METHODDEF    \
297db96d56Sopenharmony_ci    {"__getnewargs__", (PyCFunction)complex___getnewargs__, METH_NOARGS, complex___getnewargs____doc__},
307db96d56Sopenharmony_ci
317db96d56Sopenharmony_cistatic PyObject *
327db96d56Sopenharmony_cicomplex___getnewargs___impl(PyComplexObject *self);
337db96d56Sopenharmony_ci
347db96d56Sopenharmony_cistatic PyObject *
357db96d56Sopenharmony_cicomplex___getnewargs__(PyComplexObject *self, PyObject *Py_UNUSED(ignored))
367db96d56Sopenharmony_ci{
377db96d56Sopenharmony_ci    return complex___getnewargs___impl(self);
387db96d56Sopenharmony_ci}
397db96d56Sopenharmony_ci
407db96d56Sopenharmony_ciPyDoc_STRVAR(complex___format____doc__,
417db96d56Sopenharmony_ci"__format__($self, format_spec, /)\n"
427db96d56Sopenharmony_ci"--\n"
437db96d56Sopenharmony_ci"\n"
447db96d56Sopenharmony_ci"Convert to a string according to format_spec.");
457db96d56Sopenharmony_ci
467db96d56Sopenharmony_ci#define COMPLEX___FORMAT___METHODDEF    \
477db96d56Sopenharmony_ci    {"__format__", (PyCFunction)complex___format__, METH_O, complex___format____doc__},
487db96d56Sopenharmony_ci
497db96d56Sopenharmony_cistatic PyObject *
507db96d56Sopenharmony_cicomplex___format___impl(PyComplexObject *self, PyObject *format_spec);
517db96d56Sopenharmony_ci
527db96d56Sopenharmony_cistatic PyObject *
537db96d56Sopenharmony_cicomplex___format__(PyComplexObject *self, PyObject *arg)
547db96d56Sopenharmony_ci{
557db96d56Sopenharmony_ci    PyObject *return_value = NULL;
567db96d56Sopenharmony_ci    PyObject *format_spec;
577db96d56Sopenharmony_ci
587db96d56Sopenharmony_ci    if (!PyUnicode_Check(arg)) {
597db96d56Sopenharmony_ci        _PyArg_BadArgument("__format__", "argument", "str", arg);
607db96d56Sopenharmony_ci        goto exit;
617db96d56Sopenharmony_ci    }
627db96d56Sopenharmony_ci    if (PyUnicode_READY(arg) == -1) {
637db96d56Sopenharmony_ci        goto exit;
647db96d56Sopenharmony_ci    }
657db96d56Sopenharmony_ci    format_spec = arg;
667db96d56Sopenharmony_ci    return_value = complex___format___impl(self, format_spec);
677db96d56Sopenharmony_ci
687db96d56Sopenharmony_ciexit:
697db96d56Sopenharmony_ci    return return_value;
707db96d56Sopenharmony_ci}
717db96d56Sopenharmony_ci
727db96d56Sopenharmony_ciPyDoc_STRVAR(complex___complex____doc__,
737db96d56Sopenharmony_ci"__complex__($self, /)\n"
747db96d56Sopenharmony_ci"--\n"
757db96d56Sopenharmony_ci"\n"
767db96d56Sopenharmony_ci"Convert this value to exact type complex.");
777db96d56Sopenharmony_ci
787db96d56Sopenharmony_ci#define COMPLEX___COMPLEX___METHODDEF    \
797db96d56Sopenharmony_ci    {"__complex__", (PyCFunction)complex___complex__, METH_NOARGS, complex___complex____doc__},
807db96d56Sopenharmony_ci
817db96d56Sopenharmony_cistatic PyObject *
827db96d56Sopenharmony_cicomplex___complex___impl(PyComplexObject *self);
837db96d56Sopenharmony_ci
847db96d56Sopenharmony_cistatic PyObject *
857db96d56Sopenharmony_cicomplex___complex__(PyComplexObject *self, PyObject *Py_UNUSED(ignored))
867db96d56Sopenharmony_ci{
877db96d56Sopenharmony_ci    return complex___complex___impl(self);
887db96d56Sopenharmony_ci}
897db96d56Sopenharmony_ci
907db96d56Sopenharmony_ciPyDoc_STRVAR(complex_new__doc__,
917db96d56Sopenharmony_ci"complex(real=0, imag=0)\n"
927db96d56Sopenharmony_ci"--\n"
937db96d56Sopenharmony_ci"\n"
947db96d56Sopenharmony_ci"Create a complex number from a real part and an optional imaginary part.\n"
957db96d56Sopenharmony_ci"\n"
967db96d56Sopenharmony_ci"This is equivalent to (real + imag*1j) where imag defaults to 0.");
977db96d56Sopenharmony_ci
987db96d56Sopenharmony_cistatic PyObject *
997db96d56Sopenharmony_cicomplex_new_impl(PyTypeObject *type, PyObject *r, PyObject *i);
1007db96d56Sopenharmony_ci
1017db96d56Sopenharmony_cistatic PyObject *
1027db96d56Sopenharmony_cicomplex_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
1037db96d56Sopenharmony_ci{
1047db96d56Sopenharmony_ci    PyObject *return_value = NULL;
1057db96d56Sopenharmony_ci    static const char * const _keywords[] = {"real", "imag", NULL};
1067db96d56Sopenharmony_ci    static _PyArg_Parser _parser = {NULL, _keywords, "complex", 0};
1077db96d56Sopenharmony_ci    PyObject *argsbuf[2];
1087db96d56Sopenharmony_ci    PyObject * const *fastargs;
1097db96d56Sopenharmony_ci    Py_ssize_t nargs = PyTuple_GET_SIZE(args);
1107db96d56Sopenharmony_ci    Py_ssize_t noptargs = nargs + (kwargs ? PyDict_GET_SIZE(kwargs) : 0) - 0;
1117db96d56Sopenharmony_ci    PyObject *r = NULL;
1127db96d56Sopenharmony_ci    PyObject *i = NULL;
1137db96d56Sopenharmony_ci
1147db96d56Sopenharmony_ci    fastargs = _PyArg_UnpackKeywords(_PyTuple_CAST(args)->ob_item, nargs, kwargs, NULL, &_parser, 0, 2, 0, argsbuf);
1157db96d56Sopenharmony_ci    if (!fastargs) {
1167db96d56Sopenharmony_ci        goto exit;
1177db96d56Sopenharmony_ci    }
1187db96d56Sopenharmony_ci    if (!noptargs) {
1197db96d56Sopenharmony_ci        goto skip_optional_pos;
1207db96d56Sopenharmony_ci    }
1217db96d56Sopenharmony_ci    if (fastargs[0]) {
1227db96d56Sopenharmony_ci        r = fastargs[0];
1237db96d56Sopenharmony_ci        if (!--noptargs) {
1247db96d56Sopenharmony_ci            goto skip_optional_pos;
1257db96d56Sopenharmony_ci        }
1267db96d56Sopenharmony_ci    }
1277db96d56Sopenharmony_ci    i = fastargs[1];
1287db96d56Sopenharmony_ciskip_optional_pos:
1297db96d56Sopenharmony_ci    return_value = complex_new_impl(type, r, i);
1307db96d56Sopenharmony_ci
1317db96d56Sopenharmony_ciexit:
1327db96d56Sopenharmony_ci    return return_value;
1337db96d56Sopenharmony_ci}
1347db96d56Sopenharmony_ci/*[clinic end generated code: output=6d85094ace15677e input=a9049054013a1b77]*/
135