[Numpy-discussion] PyArray_DIMS problem
Gennan Chen
gnchen at mac.com
Wed Dec 20 23:48:58 EST 2006
Here is the definition of that call from ndarrayobject.h
#define PyArray_DIMS(obj) (((PyArrayObject *)(obj))->dimensions)
I believe the memory has been allocated. It just return a pointer.
Gen
On Dec 20, 2006, at 7:43 PM, Sebastian Haase wrote:
>
>
> On 12/20/06, Gennan Chen <gnchen at mac.com> wrote:
> Hi!
>
>
> I have problem with this function call under FC6 X86_64 for my own
> numpy extension
>
>
> printf("\n %d %d %d", PyArray_DIM(imgi,0),PyArray_DIM(imgi,
> 1),PyArray_DIM(imgi,2))
>
>
> it gave me
>
>
> 166 256 256
>
>
> if I tried:
>
>
> int *dim;
> dim = PyArray_DIMS(imgi)
> printf("\n %d %d %d", dim[0], dim[1], dim[2]);
>
>
> it gave me 166 0 256
>
>
> Hi -
> maybe I'm dense here -
> but how is this /supposed/ to work ? Is PyArray_DIMS allocating
> some memory that never gets freed !?
> I thought "tuples" in C had to always be passed into a function,
> so that that function could modify it, as in:
>
> const int maxNDim = 20;
> int dim[maxNDim];
> PyArray_DIMS(imgi, dim);
>
>
> What am I missing ... ?
> -Sebastian
>
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion at scipy.org
> http://projects.scipy.org/mailman/listinfo/numpy-discussion
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20061220/5c1cc341/attachment.html>
More information about the NumPy-Discussion
mailing list