Mercurial > cpython-lru_cache-weakref
diff Modules/cmathmodule.c @ 4639:97ec9dfbb2b6 legacy-trunk
Renamed Grandly
| author | Roger E. Masse <rmasse@newcnri.cnri.reston.va.us> |
|---|---|
| date | Mon, 09 Dec 1996 22:59:53 +0000 |
| parents | d36250aefb82 |
| children | dab01b84afe6 |
line wrap: on
line diff
--- a/Modules/cmathmodule.c Mon Dec 09 22:59:15 1996 +0000 +++ b/Modules/cmathmodule.c Mon Dec 09 22:59:53 1996 +0000 @@ -2,8 +2,7 @@ /* much code borrowed from mathmodule.c */ -#include "allobjects.h" -#include "complexobject.h" +#include "Python.h" #include <errno.h> @@ -229,22 +228,22 @@ /* And now the glue to make them available from Python: */ -static object * +static PyObject * math_error() { if (errno == EDOM) - err_setstr(ValueError, "math domain error"); + PyErr_SetString(PyExc_ValueError, "math domain error"); else if (errno == ERANGE) - err_setstr(OverflowError, "math range error"); - else - err_errno(ValueError); /* Unexpected math error */ + PyErr_SetString(PyExc_OverflowError, "math range error"); + else /* Unexpected math error */ + PyErr_SetFromErrno(PyExc_ValueError); return NULL; } -static object * +static PyObject * math_1(args, func) - object *args; - Py_complex (*func) FPROTO((Py_complex)); + PyObject *args; + Py_complex (*func) Py_FPROTO((Py_complex)); { Py_complex x; if (!PyArg_ParseTuple(args, "D", &x)) @@ -256,11 +255,11 @@ if (errno != 0) return math_error(); else - return newcomplexobject(x); + return PyComplex_FromCComplex(x); } #define FUNC1(stubname, func) \ - static object * stubname(self, args) object *self, *args; { \ + static PyObject * stubname(self, args) PyObject *self, *args; { \ return math_1(args, func); \ } @@ -282,7 +281,7 @@ FUNC1(cmath_tanh, c_tanh) -static struct methodlist cmath_methods[] = { +static PyMethodDef cmath_methods[] = { {"acos", cmath_acos, 1}, {"acosh", cmath_acosh, 1}, {"asin", cmath_asin, 1}, @@ -305,12 +304,13 @@ void initcmath() { - object *m, *d, *v; + PyObject *m, *d, *v; m = Py_InitModule("cmath", cmath_methods); - d = getmoduledict(m); - dictinsert(d, "pi", v = newfloatobject(atan(1.0) * 4.0)); - DECREF(v); - dictinsert(d, "e", v = newfloatobject(exp(1.0))); - DECREF(v); + d = PyModule_GetDict(m); + PyDict_SetItemString(d, "pi", + v = PyFloat_FromDouble(atan(1.0) * 4.0)); + Py_DECREF(v); + PyDict_SetItemString(d, "e", v = PyFloat_FromDouble(exp(1.0))); + Py_DECREF(v); }
