f2py支持的最新版本是否支持包裝數組值的fortran函數? 在一些古老的文檔中,這不被支持。現在呢?f2py數組值函數
舉個例子,將下面的函數保存爲func.f95。
function func(x)
implicit none
double precision :: x(:),func(size(x))
integer :: i
do i=1,size(x)
func(i) = i*x(i)
end do
end function
我f2py --fcompiler=gnu95 -c -m func func.f95
編譯這個然後讓下面的Python代碼是test_func.py
import func
from numpy import array
x = array(xrange(1,10),dtype='float64')
print 'x=',x
y = func.func(x)
print 'func(x)=',y
從
python test_func.py
輸出
x= [ 1. 2. 3. 4. 5. 6. 7. 8. 9.]
Segmentation fault
您可以[在此答案中解釋的解決方法...](http://stackoverflow.com/q/17474225/832621),但它將需要比所需的更多的評估。對於這種情況下,我會'Cython' –