Теперь я использую f2py
для вызова функции Python из кода Fortran. Я попробовал очень простой пример, но он не сработал.
Код Фортран90:
subroutine foo(fun,r)
external fun
integer ( kind = 4 ) i
real ( kind = 8 ) r
r=0.0D+00
do i= 1,5
r=r+fun(i)
enddo
end
используя командную строку:
f2py -c -m обратный вызов callback.f90
Код Python:
import callback
def f(i):
return i * i
print callback.foo(f)
Ошибка:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: `Required argument 'r' (pos 2) not found`