Я новичок в Fortran и пытаюсь запустить fortran внутри python с помощью f2py. Мне повезло, когда функция fortran выдавала одно значение. Но когда я модифицировал функцию фортрана для выдачи массива, я получаю ошибки сегментации.
Может ли кто-нибудь помочь мне? Вот код:
Функция Fortran: в файле с именем 'fortfunc.f95':
function fut(x,n)
implicit none
real, intent(in) :: x
integer, intent(in) :: n
real, dimension(2) :: fut
! My aim is to return an array fut which has 2 elements in it
fut(1)=x*n
fut(2)=x*n*100
end function fut
Затем я использую f2py для компиляции функции fortran для использования в python:
f2py -c -m func fortfunc.f95
здесь func — это имя модуля, который нужно импортировать в python.
Код Python: (довольно просто)
import func # func is the name of module which contains function fut
x=20
n=20
res=func.fut(x,n)
print('answer is ',res)
Я хочу получить массив с двумя элементами под названием «res», но вместо этого получаю «Ошибка сегментации: 11».
Может кто-нибудь указать на мою ошибку?