Author: Ronan Lamy <[email protected]>
Branch: cpyext-cleanup
Changeset: r89290:babb6b221e5e
Date: 2017-01-02 13:56 +0000
http://bitbucket.org/pypy/pypy/changeset/babb6b221e5e/
Log: Define PyComplex_AsCComplex and PyComplex_FromCComplex in a .c
instead of a .h
diff --git a/pypy/module/cpyext/api.py b/pypy/module/cpyext/api.py
--- a/pypy/module/cpyext/api.py
+++ b/pypy/module/cpyext/api.py
@@ -1325,6 +1325,7 @@
source_dir / "pythonrun.c",
source_dir / "sysmodule.c",
source_dir / "bufferobject.c",
+ source_dir / "complexobject.c",
source_dir / "cobject.c",
source_dir / "structseq.c",
source_dir / "capsule.c",
diff --git a/pypy/module/cpyext/include/complexobject.h
b/pypy/module/cpyext/include/complexobject.h
--- a/pypy/module/cpyext/include/complexobject.h
+++ b/pypy/module/cpyext/include/complexobject.h
@@ -16,23 +16,8 @@
Py_complex cval;
} PyComplexObject;
-/* generated function */
-PyAPI_FUNC(int) _PyComplex_AsCComplex(PyObject *, Py_complex *);
-PyAPI_FUNC(PyObject *) _PyComplex_FromCComplex(Py_complex *);
-
-Py_LOCAL_INLINE(Py_complex) PyComplex_AsCComplex(PyObject *obj)
-{
- Py_complex result;
- _PyComplex_AsCComplex(obj, &result);
- return result;
-}
-
-// shmuller 2013/07/30: Make a function, since macro will fail in C++ due to
-// const correctness if called with "const Py_complex"
-//#define PyComplex_FromCComplex(c) _PyComplex_FromCComplex(&c)
-Py_LOCAL_INLINE(PyObject *) PyComplex_FromCComplex(Py_complex c) {
- return _PyComplex_FromCComplex(&c);
-}
+PyAPI_FUNC(Py_complex) PyComplex_AsCComplex(PyObject *obj);
+PyAPI_FUNC(PyObject *) PyComplex_FromCComplex(Py_complex c);
#ifdef __cplusplus
}
diff --git a/pypy/module/cpyext/src/complexobject.c
b/pypy/module/cpyext/src/complexobject.c
new file mode 100644
--- /dev/null
+++ b/pypy/module/cpyext/src/complexobject.c
@@ -0,0 +1,17 @@
+
+#include "Python.h"
+
+Py_complex
+PyComplex_AsCComplex(PyObject *obj)
+{
+ printf("asdfgg");
+ Py_complex result;
+ _PyComplex_AsCComplex(obj, &result);
+ return result;
+}
+
+PyObject *
+PyComplex_FromCComplex(Py_complex c)
+{
+ return _PyComplex_FromCComplex(&c);
+}
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit