## 12.4.4 Complex Number Objects

`Py_complex`
  typedef struct double real; double imag;

`PyComplexObject`
  This subtype of `PyObject` represents a Python complex number object.

PyTypeObject `PyComplex_Type`
  This instance of `PyTypeObject` represents the Python complex number type.

int `PyComplex_Check`(PyObject *p)
  returns true if it's argument is a `PyComplexObject`

Py_complex `_Py_c_sum`(Py_complex, Py_complex)

Py_complex `_Py_c_diff`(Py_complex, Py_complex)

Py_complex `_Py_c_neg`(Py_complex)

Py_complex `_Py_c_prod`(Py_complex, Py_complex)

Py_complex `_Py_c_quot`(Py_complex, Py_complex)

Py_complex `_Py_c_pow`(Py_complex, Py_complex)

PyObject * `PyComplex_FromCComplex`(Py_complex)

PyObject * `PyComplex_FromDoubles`(double real, double imag)

double `PyComplex_RealAsDouble`(PyObject *op)

double `PyComplex_ImagAsDouble`(PyObject *op)

Py_complex `PyComplex_AsCComplex`(PyObject *op)