Do recent versions of f2py support wrapping array-valued fortran functions? In some ancient documentation this wasn't supported. How about it now?
Let's for example save the following function as func.f95.
function func(x)implicit nonedouble precision :: x(:),func(size(x))integer :: ido i=1,size(x)func(i) = i*x(i)end do
end function
I compile this with f2py --fcompiler=gnu95 -c -m func func.f95
Then let the following python code be test_func.py
import func
from numpy import arrayx = array(xrange(1,10),dtype='float64')
print 'x=',xy = func.func(x)
print 'func(x)=',y
The output from
python test_func.py
is
x= [ 1. 2. 3. 4. 5. 6. 7. 8. 9.]
Segmentation fault