[Numpy-svn] r5301 - trunk/numpy/doc/cython

numpy-svn at scipy.org numpy-svn at scipy.org
Fri Jun 20 00:17:56 EDT 2008


Author: fperez
Date: 2008-06-19 23:17:54 -0500 (Thu, 19 Jun 2008)
New Revision: 5301

Modified:
   trunk/numpy/doc/cython/c_numpy.pxd
   trunk/numpy/doc/cython/numpyx.pyx
Log:
Move the import_array() call directly into c_numpy.pxd.

This makes the user-visible API for Cython usage simpler and closer to
the Python one.


Modified: trunk/numpy/doc/cython/c_numpy.pxd
===================================================================
--- trunk/numpy/doc/cython/c_numpy.pxd	2008-06-20 00:18:32 UTC (rev 5300)
+++ trunk/numpy/doc/cython/c_numpy.pxd	2008-06-20 04:17:54 UTC (rev 5301)
@@ -1,5 +1,8 @@
 # :Author:    Travis Oliphant
 
+# API declaration section.  This basically exposes the NumPy C API to
+# Pyrex/Cython programs.
+
 cdef extern from "numpy/arrayobject.h":
 
     cdef enum NPY_TYPES:
@@ -131,3 +134,11 @@
     void PyArray_ITER_NEXT(flatiter it)
 
     void import_array()
+
+########################################################################
+# Other code (mostly initialization)
+
+# NumPy must be initialized before any user code is called in the extension
+# module.  By doing so here, we ensure the users don't have to explicitly
+# remember this themselves, and provide a cleaner Cython API.
+import_array()

Modified: trunk/numpy/doc/cython/numpyx.pyx
===================================================================
--- trunk/numpy/doc/cython/numpyx.pyx	2008-06-20 00:18:32 UTC (rev 5300)
+++ trunk/numpy/doc/cython/numpyx.pyx	2008-06-20 04:17:54 UTC (rev 5301)
@@ -2,16 +2,15 @@
 """Cython access to Numpy arrays - simple example.
 """
 
-# Import the pieces of the Python C API we need to use (from c_python.pxd):
+# Load the pieces of the Python C API we need to use (from c_python.pxd). Note
+# that a 'cimport' is similart to a Python 'import' statement, but it provides
+# access to the C part of a library instead of its Python-visible API.  Please
+# consult the Pyrex/Cython documentation for further details.
 cimport c_python as py
 
-# Import the NumPy C API (from c_numpy.pxd)
+# (C)Import the NumPy C API (from c_numpy.pxd)
 cimport c_numpy as cnp
 
-################################################
-# Initialize numpy - this MUST be done before any other code is executed.
-cnp.import_array()
-
 # Import the NumPy module for access to its usual Python API
 import numpy as np
 




More information about the Numpy-svn mailing list