Последовательно вызывать несколько функций Fortran95

У меня есть много функций, определенных ниже:

function f1(x) result (y)
    ...
end function

function f2(x) result (y)
    ...
end function

...

function fn(x) result (y)
    ...
end function

Я ищу автоматический способ вызвать каждый из них через некоторый ввод x(i) и распечатать результаты. Прототипом будет:

f = (/f1, f2, ..., fn/)
do i=1,m
    do j=1,n
        y = f(j)(x(i))
        write(*, *) y
    end do
end do

Конечно, это не работает. Я попробовал некоторый подход goto, но псевдонимы имен функций, похоже, вообще не разрешены.

Примечание. Я использую Fortran95.


person Pedro    schedule 03.10.2020    source источник
comment
Несмотря на то, что заголовок связанного ответа отличается, вы можете видеть, что он на самом деле пытается сделать то же самое, сначала создать массив, как вы пытались, а затем пытается вызвать его последовательно, как вы пытались.   -  person Vladimir F    schedule 03.10.2020
comment
Обратите внимание, что указатели на функции — это функция Fortran 2003. Однако в Fortran 95 нет другой функции, которую вы могли бы использовать вместо нее. Ваш компилятор, скорее всего, поддержит его. Если вам нужны современные расширенные структуры и объекты, вам нужен Fortran 2003 или более поздней версии. (У нас сейчас 2020 год.)   -  person Vladimir F    schedule 03.10.2020