问题描述
我想从python调用一个fortran子例程,在这里我想将一个函数传递给具有数组作为输入和输出的子例程。第一步,我将在一个非常简单的示例上进行尝试,但似乎无法使它正常工作。 F2py在使用此回调函数时似乎有问题。这是我的
subroutine foo(B,A,f,n)
integer,parameter :: dp=kind(0.d0)
integer,intent(in) :: n
real(dp),intent(out) :: B(n)
real(dp),intent(in) :: A(n)
external f
interface
function f(arr) result(res)
integer,parameter :: dp=kind(0.d0)
real(dp),intent(in) :: arr(:)
real(dp) :: res(size(arr))
end function
end interface
B = f(A)
end subroutine
python回调函数可能看起来像这样:
def f(x):
return np.array([2*x[1],x[0]*x[1]])
当前我遇到错误capi_return is NULL
Call-back cb_func_in_foo__user__routines Failed.
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)