| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | /*[clinic input]
 | 
					
						
							|  |  |  | preserve | 
					
						
							|  |  |  | [clinic start generated code]*/ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_acos__doc__, | 
					
						
							|  |  |  | "acos($module, z, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Return the arc cosine of z."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_ACOS_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     {"acos", (PyCFunction)cmath_acos, METH_O, cmath_acos__doc__}, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | static Py_complex | 
					
						
							|  |  |  | cmath_acos_impl(PyModuleDef *module, Py_complex z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  | cmath_acos(PyModuleDef *module, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     Py_complex z; | 
					
						
							|  |  |  |     Py_complex _return_value; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     if (!PyArg_Parse(arg, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  |         "D:acos", | 
					
						
							|  |  |  |         &z)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     /* modifications for z */ | 
					
						
							|  |  |  |     errno = 0; PyFPE_START_PROTECT("complex function", goto exit); | 
					
						
							|  |  |  |     _return_value = cmath_acos_impl(module, z); | 
					
						
							|  |  |  |     PyFPE_END_PROTECT(_return_value); | 
					
						
							|  |  |  |     if (errno == EDOM) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_ValueError, "math domain error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else if (errno == ERANGE) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_OverflowError, "math range error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else { | 
					
						
							|  |  |  |         return_value = PyComplex_FromCComplex(_return_value); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_acosh__doc__, | 
					
						
							|  |  |  | "acosh($module, z, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							| 
									
										
										
										
											2015-01-11 13:22:44 +00:00
										 |  |  | "Return the inverse hyperbolic cosine of z."); | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_ACOSH_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     {"acosh", (PyCFunction)cmath_acosh, METH_O, cmath_acosh__doc__}, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | static Py_complex | 
					
						
							|  |  |  | cmath_acosh_impl(PyModuleDef *module, Py_complex z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  | cmath_acosh(PyModuleDef *module, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     Py_complex z; | 
					
						
							|  |  |  |     Py_complex _return_value; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     if (!PyArg_Parse(arg, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  |         "D:acosh", | 
					
						
							|  |  |  |         &z)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     /* modifications for z */ | 
					
						
							|  |  |  |     errno = 0; PyFPE_START_PROTECT("complex function", goto exit); | 
					
						
							|  |  |  |     _return_value = cmath_acosh_impl(module, z); | 
					
						
							|  |  |  |     PyFPE_END_PROTECT(_return_value); | 
					
						
							|  |  |  |     if (errno == EDOM) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_ValueError, "math domain error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else if (errno == ERANGE) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_OverflowError, "math range error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else { | 
					
						
							|  |  |  |         return_value = PyComplex_FromCComplex(_return_value); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_asin__doc__, | 
					
						
							|  |  |  | "asin($module, z, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Return the arc sine of z."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_ASIN_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     {"asin", (PyCFunction)cmath_asin, METH_O, cmath_asin__doc__}, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | static Py_complex | 
					
						
							|  |  |  | cmath_asin_impl(PyModuleDef *module, Py_complex z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  | cmath_asin(PyModuleDef *module, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     Py_complex z; | 
					
						
							|  |  |  |     Py_complex _return_value; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     if (!PyArg_Parse(arg, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  |         "D:asin", | 
					
						
							|  |  |  |         &z)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     /* modifications for z */ | 
					
						
							|  |  |  |     errno = 0; PyFPE_START_PROTECT("complex function", goto exit); | 
					
						
							|  |  |  |     _return_value = cmath_asin_impl(module, z); | 
					
						
							|  |  |  |     PyFPE_END_PROTECT(_return_value); | 
					
						
							|  |  |  |     if (errno == EDOM) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_ValueError, "math domain error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else if (errno == ERANGE) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_OverflowError, "math range error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else { | 
					
						
							|  |  |  |         return_value = PyComplex_FromCComplex(_return_value); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_asinh__doc__, | 
					
						
							|  |  |  | "asinh($module, z, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							| 
									
										
										
										
											2015-01-11 13:22:44 +00:00
										 |  |  | "Return the inverse hyperbolic sine of z."); | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_ASINH_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     {"asinh", (PyCFunction)cmath_asinh, METH_O, cmath_asinh__doc__}, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | static Py_complex | 
					
						
							|  |  |  | cmath_asinh_impl(PyModuleDef *module, Py_complex z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  | cmath_asinh(PyModuleDef *module, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     Py_complex z; | 
					
						
							|  |  |  |     Py_complex _return_value; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     if (!PyArg_Parse(arg, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  |         "D:asinh", | 
					
						
							|  |  |  |         &z)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     /* modifications for z */ | 
					
						
							|  |  |  |     errno = 0; PyFPE_START_PROTECT("complex function", goto exit); | 
					
						
							|  |  |  |     _return_value = cmath_asinh_impl(module, z); | 
					
						
							|  |  |  |     PyFPE_END_PROTECT(_return_value); | 
					
						
							|  |  |  |     if (errno == EDOM) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_ValueError, "math domain error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else if (errno == ERANGE) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_OverflowError, "math range error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else { | 
					
						
							|  |  |  |         return_value = PyComplex_FromCComplex(_return_value); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_atan__doc__, | 
					
						
							|  |  |  | "atan($module, z, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Return the arc tangent of z."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_ATAN_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     {"atan", (PyCFunction)cmath_atan, METH_O, cmath_atan__doc__}, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | static Py_complex | 
					
						
							|  |  |  | cmath_atan_impl(PyModuleDef *module, Py_complex z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  | cmath_atan(PyModuleDef *module, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     Py_complex z; | 
					
						
							|  |  |  |     Py_complex _return_value; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     if (!PyArg_Parse(arg, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  |         "D:atan", | 
					
						
							|  |  |  |         &z)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     /* modifications for z */ | 
					
						
							|  |  |  |     errno = 0; PyFPE_START_PROTECT("complex function", goto exit); | 
					
						
							|  |  |  |     _return_value = cmath_atan_impl(module, z); | 
					
						
							|  |  |  |     PyFPE_END_PROTECT(_return_value); | 
					
						
							|  |  |  |     if (errno == EDOM) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_ValueError, "math domain error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else if (errno == ERANGE) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_OverflowError, "math range error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else { | 
					
						
							|  |  |  |         return_value = PyComplex_FromCComplex(_return_value); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_atanh__doc__, | 
					
						
							|  |  |  | "atanh($module, z, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							| 
									
										
										
										
											2015-01-11 13:22:44 +00:00
										 |  |  | "Return the inverse hyperbolic tangent of z."); | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_ATANH_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     {"atanh", (PyCFunction)cmath_atanh, METH_O, cmath_atanh__doc__}, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | static Py_complex | 
					
						
							|  |  |  | cmath_atanh_impl(PyModuleDef *module, Py_complex z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  | cmath_atanh(PyModuleDef *module, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     Py_complex z; | 
					
						
							|  |  |  |     Py_complex _return_value; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     if (!PyArg_Parse(arg, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  |         "D:atanh", | 
					
						
							|  |  |  |         &z)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     /* modifications for z */ | 
					
						
							|  |  |  |     errno = 0; PyFPE_START_PROTECT("complex function", goto exit); | 
					
						
							|  |  |  |     _return_value = cmath_atanh_impl(module, z); | 
					
						
							|  |  |  |     PyFPE_END_PROTECT(_return_value); | 
					
						
							|  |  |  |     if (errno == EDOM) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_ValueError, "math domain error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else if (errno == ERANGE) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_OverflowError, "math range error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else { | 
					
						
							|  |  |  |         return_value = PyComplex_FromCComplex(_return_value); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_cos__doc__, | 
					
						
							|  |  |  | "cos($module, z, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Return the cosine of z."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_COS_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     {"cos", (PyCFunction)cmath_cos, METH_O, cmath_cos__doc__}, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | static Py_complex | 
					
						
							|  |  |  | cmath_cos_impl(PyModuleDef *module, Py_complex z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  | cmath_cos(PyModuleDef *module, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     Py_complex z; | 
					
						
							|  |  |  |     Py_complex _return_value; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     if (!PyArg_Parse(arg, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  |         "D:cos", | 
					
						
							|  |  |  |         &z)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     /* modifications for z */ | 
					
						
							|  |  |  |     errno = 0; PyFPE_START_PROTECT("complex function", goto exit); | 
					
						
							|  |  |  |     _return_value = cmath_cos_impl(module, z); | 
					
						
							|  |  |  |     PyFPE_END_PROTECT(_return_value); | 
					
						
							|  |  |  |     if (errno == EDOM) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_ValueError, "math domain error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else if (errno == ERANGE) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_OverflowError, "math range error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else { | 
					
						
							|  |  |  |         return_value = PyComplex_FromCComplex(_return_value); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_cosh__doc__, | 
					
						
							|  |  |  | "cosh($module, z, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Return the hyperbolic cosine of z."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_COSH_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     {"cosh", (PyCFunction)cmath_cosh, METH_O, cmath_cosh__doc__}, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | static Py_complex | 
					
						
							|  |  |  | cmath_cosh_impl(PyModuleDef *module, Py_complex z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  | cmath_cosh(PyModuleDef *module, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     Py_complex z; | 
					
						
							|  |  |  |     Py_complex _return_value; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     if (!PyArg_Parse(arg, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  |         "D:cosh", | 
					
						
							|  |  |  |         &z)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     /* modifications for z */ | 
					
						
							|  |  |  |     errno = 0; PyFPE_START_PROTECT("complex function", goto exit); | 
					
						
							|  |  |  |     _return_value = cmath_cosh_impl(module, z); | 
					
						
							|  |  |  |     PyFPE_END_PROTECT(_return_value); | 
					
						
							|  |  |  |     if (errno == EDOM) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_ValueError, "math domain error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else if (errno == ERANGE) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_OverflowError, "math range error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else { | 
					
						
							|  |  |  |         return_value = PyComplex_FromCComplex(_return_value); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_exp__doc__, | 
					
						
							|  |  |  | "exp($module, z, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Return the exponential value e**z."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_EXP_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     {"exp", (PyCFunction)cmath_exp, METH_O, cmath_exp__doc__}, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | static Py_complex | 
					
						
							|  |  |  | cmath_exp_impl(PyModuleDef *module, Py_complex z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  | cmath_exp(PyModuleDef *module, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     Py_complex z; | 
					
						
							|  |  |  |     Py_complex _return_value; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     if (!PyArg_Parse(arg, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  |         "D:exp", | 
					
						
							|  |  |  |         &z)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     /* modifications for z */ | 
					
						
							|  |  |  |     errno = 0; PyFPE_START_PROTECT("complex function", goto exit); | 
					
						
							|  |  |  |     _return_value = cmath_exp_impl(module, z); | 
					
						
							|  |  |  |     PyFPE_END_PROTECT(_return_value); | 
					
						
							|  |  |  |     if (errno == EDOM) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_ValueError, "math domain error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else if (errno == ERANGE) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_OverflowError, "math range error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else { | 
					
						
							|  |  |  |         return_value = PyComplex_FromCComplex(_return_value); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_log10__doc__, | 
					
						
							|  |  |  | "log10($module, z, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Return the base-10 logarithm of z."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_LOG10_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     {"log10", (PyCFunction)cmath_log10, METH_O, cmath_log10__doc__}, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | static Py_complex | 
					
						
							|  |  |  | cmath_log10_impl(PyModuleDef *module, Py_complex z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  | cmath_log10(PyModuleDef *module, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     Py_complex z; | 
					
						
							|  |  |  |     Py_complex _return_value; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     if (!PyArg_Parse(arg, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  |         "D:log10", | 
					
						
							|  |  |  |         &z)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     /* modifications for z */ | 
					
						
							|  |  |  |     errno = 0; PyFPE_START_PROTECT("complex function", goto exit); | 
					
						
							|  |  |  |     _return_value = cmath_log10_impl(module, z); | 
					
						
							|  |  |  |     PyFPE_END_PROTECT(_return_value); | 
					
						
							|  |  |  |     if (errno == EDOM) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_ValueError, "math domain error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else if (errno == ERANGE) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_OverflowError, "math range error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else { | 
					
						
							|  |  |  |         return_value = PyComplex_FromCComplex(_return_value); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_sin__doc__, | 
					
						
							|  |  |  | "sin($module, z, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Return the sine of z."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_SIN_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     {"sin", (PyCFunction)cmath_sin, METH_O, cmath_sin__doc__}, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | static Py_complex | 
					
						
							|  |  |  | cmath_sin_impl(PyModuleDef *module, Py_complex z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  | cmath_sin(PyModuleDef *module, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     Py_complex z; | 
					
						
							|  |  |  |     Py_complex _return_value; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     if (!PyArg_Parse(arg, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  |         "D:sin", | 
					
						
							|  |  |  |         &z)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     /* modifications for z */ | 
					
						
							|  |  |  |     errno = 0; PyFPE_START_PROTECT("complex function", goto exit); | 
					
						
							|  |  |  |     _return_value = cmath_sin_impl(module, z); | 
					
						
							|  |  |  |     PyFPE_END_PROTECT(_return_value); | 
					
						
							|  |  |  |     if (errno == EDOM) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_ValueError, "math domain error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else if (errno == ERANGE) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_OverflowError, "math range error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else { | 
					
						
							|  |  |  |         return_value = PyComplex_FromCComplex(_return_value); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_sinh__doc__, | 
					
						
							|  |  |  | "sinh($module, z, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Return the hyperbolic sine of z."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_SINH_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     {"sinh", (PyCFunction)cmath_sinh, METH_O, cmath_sinh__doc__}, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | static Py_complex | 
					
						
							|  |  |  | cmath_sinh_impl(PyModuleDef *module, Py_complex z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  | cmath_sinh(PyModuleDef *module, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     Py_complex z; | 
					
						
							|  |  |  |     Py_complex _return_value; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     if (!PyArg_Parse(arg, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  |         "D:sinh", | 
					
						
							|  |  |  |         &z)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     /* modifications for z */ | 
					
						
							|  |  |  |     errno = 0; PyFPE_START_PROTECT("complex function", goto exit); | 
					
						
							|  |  |  |     _return_value = cmath_sinh_impl(module, z); | 
					
						
							|  |  |  |     PyFPE_END_PROTECT(_return_value); | 
					
						
							|  |  |  |     if (errno == EDOM) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_ValueError, "math domain error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else if (errno == ERANGE) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_OverflowError, "math range error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else { | 
					
						
							|  |  |  |         return_value = PyComplex_FromCComplex(_return_value); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_sqrt__doc__, | 
					
						
							|  |  |  | "sqrt($module, z, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Return the square root of z."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_SQRT_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     {"sqrt", (PyCFunction)cmath_sqrt, METH_O, cmath_sqrt__doc__}, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | static Py_complex | 
					
						
							|  |  |  | cmath_sqrt_impl(PyModuleDef *module, Py_complex z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  | cmath_sqrt(PyModuleDef *module, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     Py_complex z; | 
					
						
							|  |  |  |     Py_complex _return_value; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     if (!PyArg_Parse(arg, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  |         "D:sqrt", | 
					
						
							|  |  |  |         &z)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     /* modifications for z */ | 
					
						
							|  |  |  |     errno = 0; PyFPE_START_PROTECT("complex function", goto exit); | 
					
						
							|  |  |  |     _return_value = cmath_sqrt_impl(module, z); | 
					
						
							|  |  |  |     PyFPE_END_PROTECT(_return_value); | 
					
						
							|  |  |  |     if (errno == EDOM) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_ValueError, "math domain error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else if (errno == ERANGE) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_OverflowError, "math range error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else { | 
					
						
							|  |  |  |         return_value = PyComplex_FromCComplex(_return_value); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_tan__doc__, | 
					
						
							|  |  |  | "tan($module, z, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Return the tangent of z."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_TAN_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     {"tan", (PyCFunction)cmath_tan, METH_O, cmath_tan__doc__}, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | static Py_complex | 
					
						
							|  |  |  | cmath_tan_impl(PyModuleDef *module, Py_complex z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  | cmath_tan(PyModuleDef *module, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     Py_complex z; | 
					
						
							|  |  |  |     Py_complex _return_value; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     if (!PyArg_Parse(arg, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  |         "D:tan", | 
					
						
							|  |  |  |         &z)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     /* modifications for z */ | 
					
						
							|  |  |  |     errno = 0; PyFPE_START_PROTECT("complex function", goto exit); | 
					
						
							|  |  |  |     _return_value = cmath_tan_impl(module, z); | 
					
						
							|  |  |  |     PyFPE_END_PROTECT(_return_value); | 
					
						
							|  |  |  |     if (errno == EDOM) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_ValueError, "math domain error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else if (errno == ERANGE) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_OverflowError, "math range error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else { | 
					
						
							|  |  |  |         return_value = PyComplex_FromCComplex(_return_value); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_tanh__doc__, | 
					
						
							|  |  |  | "tanh($module, z, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Return the hyperbolic tangent of z."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_TANH_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     {"tanh", (PyCFunction)cmath_tanh, METH_O, cmath_tanh__doc__}, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | static Py_complex | 
					
						
							|  |  |  | cmath_tanh_impl(PyModuleDef *module, Py_complex z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  | cmath_tanh(PyModuleDef *module, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     Py_complex z; | 
					
						
							|  |  |  |     Py_complex _return_value; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     if (!PyArg_Parse(arg, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  |         "D:tanh", | 
					
						
							|  |  |  |         &z)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     /* modifications for z */ | 
					
						
							|  |  |  |     errno = 0; PyFPE_START_PROTECT("complex function", goto exit); | 
					
						
							|  |  |  |     _return_value = cmath_tanh_impl(module, z); | 
					
						
							|  |  |  |     PyFPE_END_PROTECT(_return_value); | 
					
						
							|  |  |  |     if (errno == EDOM) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_ValueError, "math domain error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else if (errno == ERANGE) { | 
					
						
							|  |  |  |         PyErr_SetString(PyExc_OverflowError, "math range error"); | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     else { | 
					
						
							|  |  |  |         return_value = PyComplex_FromCComplex(_return_value); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_log__doc__, | 
					
						
							|  |  |  | "log($module, x, y_obj=None, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "The logarithm of z to the given base.\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "If the base not specified, returns the natural logarithm (base e) of z."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_LOG_METHODDEF    \
 | 
					
						
							|  |  |  |     {"log", (PyCFunction)cmath_log, METH_VARARGS, cmath_log__doc__}, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							|  |  |  | cmath_log_impl(PyModuleDef *module, Py_complex x, PyObject *y_obj); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							|  |  |  | cmath_log(PyModuleDef *module, PyObject *args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     Py_complex x; | 
					
						
							|  |  |  |     PyObject *y_obj = NULL; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if (!PyArg_ParseTuple(args, | 
					
						
							|  |  |  |         "D|O:log", | 
					
						
							|  |  |  |         &x, &y_obj)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     return_value = cmath_log_impl(module, x, y_obj); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_phase__doc__, | 
					
						
							|  |  |  | "phase($module, z, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Return argument, also known as the phase angle, of a complex."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_PHASE_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     {"phase", (PyCFunction)cmath_phase, METH_O, cmath_phase__doc__}, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							|  |  |  | cmath_phase_impl(PyModuleDef *module, Py_complex z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  | cmath_phase(PyModuleDef *module, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     Py_complex z; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     if (!PyArg_Parse(arg, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  |         "D:phase", | 
					
						
							|  |  |  |         &z)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     return_value = cmath_phase_impl(module, z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_polar__doc__, | 
					
						
							|  |  |  | "polar($module, z, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Convert a complex from rectangular coordinates to polar coordinates.\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "r is the distance from 0 and phi the phase angle."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_POLAR_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     {"polar", (PyCFunction)cmath_polar, METH_O, cmath_polar__doc__}, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							|  |  |  | cmath_polar_impl(PyModuleDef *module, Py_complex z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  | cmath_polar(PyModuleDef *module, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     Py_complex z; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     if (!PyArg_Parse(arg, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  |         "D:polar", | 
					
						
							|  |  |  |         &z)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     return_value = cmath_polar_impl(module, z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_rect__doc__, | 
					
						
							|  |  |  | "rect($module, r, phi, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Convert from polar coordinates to rectangular coordinates."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_RECT_METHODDEF    \
 | 
					
						
							|  |  |  |     {"rect", (PyCFunction)cmath_rect, METH_VARARGS, cmath_rect__doc__}, | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							|  |  |  | cmath_rect_impl(PyModuleDef *module, double r, double phi); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							|  |  |  | cmath_rect(PyModuleDef *module, PyObject *args) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     double r; | 
					
						
							|  |  |  |     double phi; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     if (!PyArg_ParseTuple(args, | 
					
						
							|  |  |  |         "dd:rect", | 
					
						
							|  |  |  |         &r, &phi)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     return_value = cmath_rect_impl(module, r, phi); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_isfinite__doc__, | 
					
						
							|  |  |  | "isfinite($module, z, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Return True if both the real and imaginary parts of z are finite, else False."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_ISFINITE_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     {"isfinite", (PyCFunction)cmath_isfinite, METH_O, cmath_isfinite__doc__}, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							|  |  |  | cmath_isfinite_impl(PyModuleDef *module, Py_complex z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  | cmath_isfinite(PyModuleDef *module, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     Py_complex z; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     if (!PyArg_Parse(arg, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  |         "D:isfinite", | 
					
						
							|  |  |  |         &z)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     return_value = cmath_isfinite_impl(module, z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_isnan__doc__, | 
					
						
							|  |  |  | "isnan($module, z, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Checks if the real or imaginary part of z not a number (NaN)."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_ISNAN_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     {"isnan", (PyCFunction)cmath_isnan, METH_O, cmath_isnan__doc__}, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							|  |  |  | cmath_isnan_impl(PyModuleDef *module, Py_complex z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  | cmath_isnan(PyModuleDef *module, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     Py_complex z; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     if (!PyArg_Parse(arg, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  |         "D:isnan", | 
					
						
							|  |  |  |         &z)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     return_value = cmath_isnan_impl(module, z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | PyDoc_STRVAR(cmath_isinf__doc__, | 
					
						
							|  |  |  | "isinf($module, z, /)\n" | 
					
						
							|  |  |  | "--\n" | 
					
						
							|  |  |  | "\n" | 
					
						
							|  |  |  | "Checks if the real or imaginary part of z is infinite."); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define CMATH_ISINF_METHODDEF    \
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     {"isinf", (PyCFunction)cmath_isinf, METH_O, cmath_isinf__doc__}, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							|  |  |  | cmath_isinf_impl(PyModuleDef *module, Py_complex z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | static PyObject * | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  | cmath_isinf(PyModuleDef *module, PyObject *arg) | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  | { | 
					
						
							|  |  |  |     PyObject *return_value = NULL; | 
					
						
							|  |  |  |     Py_complex z; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  |     if (!PyArg_Parse(arg, | 
					
						
							| 
									
										
										
										
											2014-10-14 17:37:02 -04:00
										 |  |  |         "D:isinf", | 
					
						
							|  |  |  |         &z)) | 
					
						
							|  |  |  |         goto exit; | 
					
						
							|  |  |  |     return_value = cmath_isinf_impl(module, z); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | exit: | 
					
						
							|  |  |  |     return return_value; | 
					
						
							|  |  |  | } | 
					
						
							| 
									
										
										
										
											2015-04-04 00:12:11 +03:00
										 |  |  | /*[clinic end generated code: output=9143b8dcc8069024 input=a9049054013a1b77]*/ |