Недавно я узнал о блоках tinterface при добавлении функции в свою программу Fortran. Все работает красиво и аккуратно, но теперь я хочу добавить вторую функциональность в блок интерфейса.
Вот мой блок интерфейса:
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
Мне кажется, это не лучший выбор.
Я просмотрел подпрограммы, но я не очень уверен, что это правильное решение. То, что я делаю, относительно просто, и мне нужно передать аргументы в подпрограмму, но все подпрограммы, которые я видел, являются: а) сложными (т.е. Слишком сложными для функции), и б) не принимают аргументы, они ведут себя так, как будто они манипулируют переменными без их передачи им.
Я действительно не изучал модули должным образом, но из того, что я видел, это не то, что нужно использовать.
Что мне следует использовать, когда и как мне лучше всего это делать?