Re: [Numpy-discussion] f2py pass by reference

2011-04-12 Thread Pearu Peterson
Note that hello.foo(a) returns the value of Fortran `a` value. This explains the printed 2 value. So, use >>> a = hello.foo(a) and not >>> hello.foo(a) As Sameer noted in previous mail, passing Python scalar values to Fortran by reference is not possible because Python scalars are immutable. He

Re: [Numpy-discussion] f2py pass by reference

2011-04-12 Thread Mathew Yeates
bizarre I get = >>> hello.foo(a) Hello from Fortran! a= 1 2 >>> a 1 >>> hello.foo(a) Hello from Fortran! a= 1 2 >>> print a 1 >>> = i.e. The value of 2 gets printed! This is numpy 1.3.0 -Mathew On Tue, Apr 12, 2011 at 11:45 AM, Pearu Peterson

Re: [Numpy-discussion] f2py pass by reference

2011-04-12 Thread Pearu Peterson
On Tue, Apr 12, 2011 at 9:06 PM, Mathew Yeates wrote: > I have > subroutine foo (a) > integer a > print*, "Hello from Fortran!" > print*, "a=",a > a=2 > end > > and from python I want to do > >>> a=1 > >>> foo(a) > > and I want a's value to now be 2. > How do I do this? >

Re: [Numpy-discussion] f2py pass by reference

2011-04-12 Thread Sameer Grover
On 12/04/11 23:36, Mathew Yeates wrote: > I have > subroutine foo (a) >integer a >print*, "Hello from Fortran!" >print*, "a=",a >a=2 >end > > and from python I want to do a=1 foo(a) > and I want a's value to now be 2. > How do I do this? > > Mathew

[Numpy-discussion] f2py pass by reference

2011-04-12 Thread Mathew Yeates
I have subroutine foo (a) integer a print*, "Hello from Fortran!" print*, "a=",a a=2 end and from python I want to do >>> a=1 >>> foo(a) and I want a's value to now be 2. How do I do this? Mathew ___ NumPy-Discussion maili