Fortran - возвращает анонимную функцию из подпрограммы
Я пытаюсь обобщить вызов функции из подпрограммы. Так что моя идея примерно такая
if (case1) then
call MainSubroutine1(myFun)
elseif (case2)
call MainSubroutine2(myFun)
end if
do i = 1,4
data = myFun(i)
end do
Я понимаю, что это немного расплывчато, но я не уверен, возможно ли это.
Спасибо,
Джон
редактировать 31.01.14 7:57
Я прошу прощения за смутный способ, которым я сформулировал это. Я думал о чем-то похожем на то, что делал @haraldki, но я надеялся, что смогу определить анонимную функцию в MainSubroutine1 и MainSubroutine2 и перенести это определение в основной код.
Это связано с тем, что myFun зависит от разного растянутого распределения (Гаусса и Ферми-Дирака), и я неЯ не хочу иметь функцию, которая вызывает только функцию с брошенной константой.
Это возможно?
Еще раз спасибо
Джон