Renamed Grandly
This commit is contained in:
parent
3daddda165
commit
24070ca391
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue