summaryrefslogtreecommitdiffstats
path: root/Objects/clinic/complexobject.c.h
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2017-03-19 06:51:07 (GMT)
committerGitHub <noreply@github.com>2017-03-19 06:51:07 (GMT)
commit18b250f844bf8b2d1a81c2d2dcc74e850364fe35 (patch)
tree117c9240b5b87067a07cb43bc9260ed26c3148bb /Objects/clinic/complexobject.c.h
parent0b5615926a573c19c887a701a2f7047f4fd06de6 (diff)
downloadcpython-18b250f844bf8b2d1a81c2d2dcc74e850364fe35.zip
cpython-18b250f844bf8b2d1a81c2d2dcc74e850364fe35.tar.gz
cpython-18b250f844bf8b2d1a81c2d2dcc74e850364fe35.tar.bz2
bpo-29793: Convert some builtin types constructors to Argument Clinic. (#615)
Diffstat (limited to 'Objects/clinic/complexobject.c.h')
-rw-r--r--Objects/clinic/complexobject.c.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/Objects/clinic/complexobject.c.h b/Objects/clinic/complexobject.c.h
new file mode 100644
index 0000000..b0b4c0e
--- /dev/null
+++ b/Objects/clinic/complexobject.c.h
@@ -0,0 +1,34 @@
+/*[clinic input]
+preserve
+[clinic start generated code]*/
+
+PyDoc_STRVAR(complex_new__doc__,
+"complex(real=0, imag=0)\n"
+"--\n"
+"\n"
+"Create a complex number from a real part and an optional imaginary part.\n"
+"\n"
+"This is equivalent to (real + imag*1j) where imag defaults to 0.");
+
+static PyObject *
+complex_new_impl(PyTypeObject *type, PyObject *r, PyObject *i);
+
+static PyObject *
+complex_new(PyTypeObject *type, PyObject *args, PyObject *kwargs)
+{
+ PyObject *return_value = NULL;
+ static const char * const _keywords[] = {"real", "imag", NULL};
+ static _PyArg_Parser _parser = {"|OO:complex", _keywords, 0};
+ PyObject *r = Py_False;
+ PyObject *i = NULL;
+
+ if (!_PyArg_ParseTupleAndKeywordsFast(args, kwargs, &_parser,
+ &r, &i)) {
+ goto exit;
+ }
+ return_value = complex_new_impl(type, r, i);
+
+exit:
+ return return_value;
+}
+/*[clinic end generated code: output=74035493480ab5e5 input=a9049054013a1b77]*/