[Numpy-discussion] no typo: mixing NUMERIC and NUMARRAY
gvermeul at grenoble.cnrs.fr
gvermeul at grenoble.cnrs.fr
Mon May 12 15:53:04 EDT 2003
>
> > ( PyQwt is a wrapper for Qwt, a Qt-based library with widgets useful for
> > science and engineering -- http://gerard.vermeulen.free.fr )
> >
> > I discovered by accident that PyQwt compiled with
> > #include <numarray/arrayobject.h>
> > plots Numeric-arrays and that PyQwt compiled with
> > #include <Numeric/arrayobject.h>
> > plots numarray-arrays.
> >
>
> This part sounds a little backward. Presumably this was a typo.
>
No Todd, this is no typo. I launched a test program from the wrong
directory and was shocked to see that it worked (have checked with
python -vv which modules were loaded). The other way around worked, too.
Of course, the normal cases work, too.
(verified that multiplying a Numeric array with numarray does not work)
>
> > The only interface between PyQwt and Numeric (or numarray) passes through
> > PyArray_ContiguousFromObject to cast sequences into arrays from which data
> > is copied into Qwt's data structures.
> >
> > PyQwt never returns Numeric- or numarray-arrays.
> >
> > Is this feature platform dependent?
>
> Yes, if I understand your question correctly.
>
> > Or is it safe to release PyQwt,
> > claiming that a Numeric-compiled PyQwt is compatible with numarray
> > and vice-versa?
>
> No dice. numarray is currently trying for source level compatibility
> only, so an extension compiled for Numeric creates slightly different
> object code than one compiled for numarray; slightly different means
> inoperable. Still, it's good to know that PyQwt is very close to
> workable for numarray.
>
Well, my experience shows that on x86-Linux the layout of the data
in a numarray-array and Numeric-array is sufficiently close that
both PyArray_ContiguousFromObject() functions also interprete the arrays
of the 'cousin' correctly (at least in 1D).
I realize that this observation is very hackish, but it may help to speed
up the acceptance of numarray.
Gerard
-------------------------------------------------------------
This message was sent using HTTPS service from CNRS Grenoble.
---> https://grenoble.cnrs.fr <---
More information about the NumPy-Discussion
mailing list