[SciPy-user] weave.inline : resize an array in c++
Samuel GARCIA
sgarcia at olfac.univ-lyon1.fr
Tue Apr 18 03:16:07 EDT 2006
No I can't it resize from python because it is to slow.
There are a lot of iteration and for some of them I add a new value to a
vector.
My code was only an example, of course.
Is it easier to add one element to a 1D array than a ND ?
I am porting a old code from matlab and I was able to to do that in mex
file with mxRealloc.
thanks
Sam
Prabhu Ramachandran a écrit :
>>>>>>"Samuel" == Samuel GARCIA <sgarcia at olfac.univ-lyon1.fr> writes:
>>>>>>
>>>>>>
>
> Samuel> Hi, how to resize a array in the c++ code with
> Samuel> weave.inline()
>[...]
> Samuel> c = ones((3,6))
>[...]
> Samuel> err = weave.inline(code, ['c'], type_converters=converters.blitz)
> Samuel> print c.shape #I want (4,7) !!!
>
>I am not sure why you'd want to do that. Can't you resize it from
>Python? In any case, if you really must do it, take a look at the c++
>code generated by weave and look at it. You'll see that c_array is a
>PyArrayObject that you can use if you want it. However, I am not sure
>what will happen if you do resize the array and are using blitz. I
>suspect something bad may happen. Resizing the array might also
>relocate the entire block of memory for the array so accessing the
>older pointer will likely be disastrous. So, you should be careful
>doing this.
>
>cheers,
>prabhu
>
>_______________________________________________
>SciPy-user mailing list
>SciPy-user at scipy.net
>http://www.scipy.net/mailman/listinfo/scipy-user
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20060418/79a55159/attachment.html>
More information about the SciPy-User
mailing list