summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Cournapeau <cournape@gmail.com>2009-10-08 13:45:53 +0000
committerDavid Cournapeau <cournape@gmail.com>2009-10-08 13:45:53 +0000
commitf8f43c4ffd4126a99d74ef40f855484b8741b209 (patch)
tree3fb2dbda7a14a66b8318da930e341c51da7c56fc
parent1860563e20602af60025a9ea97bfde6be27dbde9 (diff)
downloadnumpy-f8f43c4ffd4126a99d74ef40f855484b8741b209.tar.gz
ENH: Put beginning of API declaration out of the h_template.
This is a first step toward generating the full declaration list from a dict {function_name: index_in_the_api_pointer}.
-rw-r--r--numpy/core/code_generators/generate_numpy_api.py26
1 files changed, 15 insertions, 11 deletions
diff --git a/numpy/core/code_generators/generate_numpy_api.py b/numpy/core/code_generators/generate_numpy_api.py
index c8f499639..1866668b6 100644
--- a/numpy/core/code_generators/generate_numpy_api.py
+++ b/numpy/core/code_generators/generate_numpy_api.py
@@ -69,16 +69,7 @@ static void **PyArray_API=NULL;
#endif
#endif
-#define PyArray_GetNDArrayCVersion (*(unsigned int (*)(void)) PyArray_API[0])
-#define PyBigArray_Type (*(PyTypeObject *)PyArray_API[1])
-#define PyArray_Type (*(PyTypeObject *)PyArray_API[2])
-#define PyArrayDescr_Type (*(PyTypeObject *)PyArray_API[3])
-#define PyArrayFlags_Type (*(PyTypeObject *)PyArray_API[4])
-#define PyArrayIter_Type (*(PyTypeObject *)PyArray_API[5])
-#define PyArrayMultiIter_Type (*(PyTypeObject *)PyArray_API[6])
-#define NPY_NUMUSERTYPES (*(int *)PyArray_API[7])
-#define PyBoolArrType_Type (*(PyTypeObject *)PyArray_API[8])
-#define _PyArrayScalar_BoolValues ((PyBoolScalarObject *)PyArray_API[9])
+%s
%s
@@ -216,6 +207,19 @@ def do_generate_api(targets, sources):
numpyapi_list = genapi.get_api_functions('NUMPY_API', sources[0])
+ beg_api = """\
+#define PyArray_GetNDArrayCVersion (*(unsigned int (*)(void)) PyArray_API[0])
+#define PyBigArray_Type (*(PyTypeObject *)PyArray_API[1])
+#define PyArray_Type (*(PyTypeObject *)PyArray_API[2])
+#define PyArrayDescr_Type (*(PyTypeObject *)PyArray_API[3])
+#define PyArrayFlags_Type (*(PyTypeObject *)PyArray_API[4])
+#define PyArrayIter_Type (*(PyTypeObject *)PyArray_API[5])
+#define PyArrayMultiIter_Type (*(PyTypeObject *)PyArray_API[6])
+#define NPY_NUMUSERTYPES (*(int *)PyArray_API[7])
+#define PyBoolArrType_Type (*(PyTypeObject *)PyArray_API[8])
+#define _PyArrayScalar_BoolValues ((PyBoolScalarObject *)PyArray_API[9])
+ """
+
# API fixes for __arrayobject_api.h
fixed = 10
numtypes = len(old_types) + fixed
@@ -238,7 +242,7 @@ def do_generate_api(targets, sources):
# Write to header
fid = open(header_file, 'w')
- s = h_template % ('\n'.join(module_list), '\n'.join(extension_list))
+ s = h_template % ('\n'.join(module_list), beg_api, '\n'.join(extension_list))
fid.write(s)
fid.close()