【发布时间】:2012-08-17 11:52:42
【问题描述】:
在现代 Fortran 中是否可以使用向量来索引多维数组?也就是说,给定,比如说,
integer, dimension(3) :: index = [4,6,9]
double precision, dimension(10,10,10) :: data
有没有比写data(index(1), index(2), index(3)) 更好(更通用)的方式来访问data(4,6,9)?最好不必对 data 数组的等级进行硬编码。
(天真地我想写 data(index) 但这实际上意味着不同的东西 - 子集“聚集” - 要求 data 本身是一个排名第一的数组。)
值得一提的是,这与multidimensional index by array of indices in JavaScript 本质上是相同的问题,但在Fortran 中。不幸的是,那里的聪明答案不适用于预定义的数组等级。
【问题讨论】: