On Fri, Jun 20, 2008 at 14:11, Matthew Brett <[EMAIL PROTECTED]> wrote:
> Hi,
>
> As a matter of interest, what is the relationship, if any, between (in Cython)
>
> import numpy
>
> and
>
> cnp.import_array()
>
> Are they initializing different copies of the same thing?

No. "import numpy" is essentially the same as the pure Python
equivalent; it loads the module and puts it into the namespace.
cnp.import_array() loads the module (or reuses the already loaded
one), does not put it into any namespace, but then, most importantly,
grabs the pointer to the table of function pointers and assigns it to
the local void** variable. All of the numpy API is made available to
third-party extension modules by #define macros which look up into
this table.

-- 
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
 -- Umberto Eco
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to