Renamed Grandly

This commit is contained in:
Roger E. Masse 1996-12-09 22:59:53 +00:00
parent 3daddda165
commit 24070ca391

View file

@ -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 @@ static Py_complex c_tanh(x)
/* 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 @@ math_1(args, func)
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_tan, c_tan)
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 @@ static struct methodlist cmath_methods[] = {
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);
}