[SciPy-user] returning an array from weave inline

Flavio Coelho fccoelho at gmail.com
Wed Mar 28 18:18:49 EDT 2007


Thanks Fernando,

I thought variables converted to C were copies, so that there could not be
an in place operation on a Python variable.

Flávio



On 3/28/07, Fernando Perez <fperez.net at gmail.com> wrote:
>
> On 3/28/07, Flavio Coelho <fccoelho at gmail.com> wrote:
> > I get a compilation error when  I try to return an array from
> weave.inline
> >
> > here is my test code ( a simple matrix multplication)
> >
> > from scipy import weave
> > from scipy.weave import converters
> >
> > def Dot(a1,a2):
> >     """
> >     multiplicação de matrizes em C
> >     """
> >     #print a1.shape,a2.shape
> >     d1,d2,d3 = a1.shape[0],a2.shape[1], a1.shape[1]
> >     a3 = zeros((d1,d2))
> >     code = """
> >     {
> >     int i, j, k;
> >     for( i = 0; i < d1; i++)
> >            for( j = 0; j < d2; j++)
> >                for( k = 0; k < d3; k++)
> >                  a3(i,j) +=  a1(i,k)*a2(k,j);
> >     }
> >     return_val = a3;
> >     """
> >     return
> > weave.inline(code,['a1','a2','a3','d1','d2','d3'],type_converters=
> converters.blitz,compiler='gcc')
>
> Don't return anything.  Your code has already filled in a3, so there's
> no need for you to return.
>
> Cheers,
>
> f
> _______________________________________________
> SciPy-user mailing list
> SciPy-user at scipy.org
> http://projects.scipy.org/mailman/listinfo/scipy-user
>



-- 
Flávio Codeço Coelho
registered Linux user # 386432
get counted at http://counter.li.org
---------------------------
"software gets slower faster than hardware gets faster"
Niklaus Wirth's law
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20070328/e0cf02b5/attachment.html>


More information about the SciPy-User mailing list