在 Python 中是否存在解包参数列表的 Fortran 等价物?

Is there a Fortran equivalent of unpacking a list of arguments in Python?

我正在编写我的第一个数值优化程序(牛顿法)和我的第一个 Fortran 程序。我从 Python 开始理解第一个问题,现在我正在移植到 Fortran 来处理另一个问题。 (一次一件事,对吧?)

在 Python 中,有一种将参数传递给函数的简便方法:unpacking a list,如下所示:

def f(x_1, x_2):
    """Just a function with two arguments."""
    return math.sqrt(x_1 ** 2 + x_2 ** 2)

...
f(*[4, 3])  # calls f with parameters 4 and 3
# output: 5

Fortran 有类似这个明星运算符的东西吗?我将我的二维点放入矩阵中,并且我正在尝试学习将我的二维点之一 "vectors" 传递给要评估的函数的最传统方法。它看起来有点像这样:

! "double precision", using SELECTED_REAL_KIND
REAL(KIND=dp), DIMENSION(100, 2) :: iterates = 0.0_dp

! f expects two REALs
REAL(KIND=dp) :: first_value = f(iterates(1, :))

没有

您可以让您的函数接受向量。如果函数来自依赖,你可以写一个包装器:

function f_array_input(x)
  real(kind=dp), intent(in) :: x(2)
  real(kind=dp) :: f_array_input
  f_array_input = f(x(1), x(2))
end function

(