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 зависит от разного растянутого распределения (Гаусса и Ферми-Дирака), и я неЯ не хочу иметь функцию, которая вызывает только функцию с брошенной константой.

Это возможно?

Еще раз спасибо

Джон

Ответы на вопрос(1)

Ваш ответ на вопрос