Fortran - Devuelve una función anónima desde la subrutina

Estoy tratando de generalizar una llamada de función desde una subrutina. Así que mi idea es algo como esto.

if (case1) then
   call MainSubroutine1(myFun)
elseif (case2)
   call MainSubroutine2(myFun)
end if

do i = 1,4
   data = myFun(i)
end do

Me doy cuenta de que esto es algo vago, pero no estoy seguro de si es posible.

Gracias,

Juan

editar 01/01/14 7:57 a.m.

Lo siento por la vaga forma en que lo expresé. Estaba pensando algo similar a lo que hizo @haraldki, pero esperaba poder definir una función anónima dentro de MainSubroutine1 y MainSubroutine2 y transferir esa definición al código principal.

Esto se debe a que myFun depende de una distribución diferente estirada (Gaussian y Fermi-Dirac) y no quiero tener una función que solo llame a una función con un disparo constante.

es posible?

Gracias de nuevo.

Juan

Respuestas a la pregunta(1)

Su respuesta a la pregunta