如何解决如何在f2py中将多维函数作为参数传递?
我想从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 举报,一经查实,本站将立刻删除。