[SciPy-user] Best/Safest way to parse NumPy array in C extension?

Lou Pecora lou_boog2000 at yahoo.com
Tue Dec 12 10:28:31 CST 2006


YIKES.  That one line should read

mat=PyArray_ContiguousFromObject(Pymat,NPY_DOUBLE,2,2);

Very sorry.

--- Lou Pecora <lou_boog2000 at yahoo.com> wrote:

> I've done this two ways.  Which is better or safer?
> 
> Say I'm passing a NumPy array (float) to a C
> extension.  One way to "parse" it is (ignoring
> checks
> on return values, etc. for now),
> 
>   PyArrayObject *mat;
>   PyArg_ParseTuple(args, "O!", &PyArray_Type, &mat);
> 
> or is this better,
> 
>   PyObject *Pymat;
>   PyArrayObject *mat;
>   PyArg_ParseTuple(args, "O", &Pymat);
>   mat=PyArray_ContiguousFromObject(objin,NPY_DOUBLE,
> 2,2);
> 
> The latter appears to have the constraint that the
> array be contiguous.  Or is that an illusion and
> it's
> saying it _expects_ a Python object that has
> contiguous data?
> 
> I've done both.  Pointing C arrays to the resulting
> PyArrays' data works fine, but I fear one way or the
> other might be courting disaster.
> 
> BTW, I do other checks on dimension, type, etc., but
> I
> left those out here for clarity.  (I hope.)
> 
> 
> 
> 
> 
> -- Lou Pecora
>       My views are my own.
> 
> 
>  
>
____________________________________________________________________________________
> Do you Yahoo!?
> Everyone is raving about the all-new Yahoo! Mail
> beta.
> http://new.mail.yahoo.com
> _______________________________________________
> SciPy-user mailing list
> SciPy-user at scipy.org
>
http://projects.scipy.org/mailman/listinfo/scipy-user
> 


-- Lou Pecora
      My views are my own.


 
____________________________________________________________________________________
Have a burning question?  
Go to www.Answers.yahoo.com and get answers from real people who know.


More information about the SciPy-user mailing list