繁体   English   中英

f2py数组值函数

[英]f2py array valued functions

最新版本的f2py是否支持包含数组值的fortran函数? 在一些古代文献中,这不受支持。 现在怎么样?

让我们将以下函数保存为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

f2py的机制将Fortran 子程序转换为python函数。 它不了解如何将Fortran 函数转换为python函数。 我发现我需要用子程序包装所有Fortran函数,甚至更好,将它们重写为子程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM