Для некоторого использования мне нужно определить функцию внутри другой функции внутри модуля fortran. Пример кода для легкого понимания:
module func
implicit none
contains
real function f(x,y)
real x,y,g
real function g(r)
real r
g=r
end function g
f=x*g(y)
end function f
end module func
use func
implicit none
write(*,*) f(1.0,1.0)
end
Это дает множество ошибок в gfortran, таких как неожиданное объявление данных, ожидаемая конечная функция f, а не g .... et c.
Как правильно определить функцию внутри другой функции в фортране?