Я недавно узнал о блоках tinterface при добавлении функции в мою программу на Фортране. Все работает красиво и аккуратно, но теперь я хочу добавить в блок интерфейса вторую функцию.
Вот мой блок интерфейса:
interface
function correctNeighLabel (A,i,j,k)
integer :: correctNeighLabel
integer, intent(in) :: i,j,k
integer,dimension(:,:,:),intent(inout) :: A
end function
function correctNeighArray (B,d,e,f)
character :: correctNeighArray
integer, intent(in) :: d,e,f
character, dimension(:,:,:),intent(inout) :: B
end function
end interface
Мне кажется, это не самый лучший вариант.
Я изучил подпрограммы, но я не очень уверен, что это правильное решение. То, что я делаю, относительно просто, и мне нужно передать аргументы подпрограмме, но все подпрограммы, которые я видел, являются а) сложными (т.е. слишком сложными для функции) и б) не принимают аргументов, ведут себя так, как будто они манипулируют переменными без их передачи им.
Я на самом деле не изучал модули должным образом, но из того, что я видел, это не то, что нужно использовать.
Что мне следует использовать, когда и как мне лучше всего это сделать?