【发布时间】:2016-07-19 06:22:06
【问题描述】:
在 Fortran 中创建任意数量的嵌套循环有哪些方法?例如,可以在运行时确定嵌套循环的数量 k:
do i1 = 1,n1
do i2 = 1,n2
do i3 = 1,n3
do i4 = 1,n4
...
! use i1,i2,i3,i4,....,ik for something
...
enddo
enddo
enddo
enddo
【问题讨论】:
-
我曾经不得不这样做,作为对某个问题(在 C 中)的一个非常基本且糟糕的解决方案。简而言之,据我回忆,我有一个包装脚本,它用所需的嵌套循环写出文件,然后编译并运行使用它的项目。它确实有效。
-
这确实引发了一个问题你为什么要这样做?例如,如果你环顾四周,你会发现一些问题询问如何进行任意深度循环答案是 Use an
elementalfunction 的嵌套。对于其他人来说,递归方法是合适的。那么,你为什么要这样做呢? -
我想用这个来转换任意等级的张量,并且仍然有一个在物理方面看起来“透明”的代码。
标签: loops recursion nested fortran fortran90