是否可以在Fortran中使用具有自定义可分配索引的数组?
例如
整数a(3:7)
将创建以下元素:a(3),a(4),a(5),a(6)和a(7)。
有没有办法创建,比方说只有(3),a(5)和a(7)来节省内存,因为其他元素永远不会被使用?
如果静态情况可能,那么动态情况我们可以有类似的东西吗?
修改:
说我有一个复杂的表达式,各种a(i,j,k)。现在取决于i,j,k,a(i,j,k)可以被赋予一些具有不同参数的外部函数“F”。这里i,j,k可以非均匀地上升到1000,即,'i'仅取值12,16,34,...,999等。但是在我的代码中,如果我声明“整数a(1000) ,1000,1000)“这将浪费记忆。
COMMON / I / I1,I2,I3,I4,I5,I6
一个(I1,I2,I3)= F(1)
一个(I3,I2,I4)= F(2)
A(I1 + I4,I5,I3)= F(3)
function = a(i1,i2,i3)*(...)+ a(i3,i2,i4)*(...)+ ...
现在通过外部函数更改表达式中的(i,j,k)的所有实例将是一个解决方案,但我不想修改表达式。这就是为什么,我想知道是否有任何选择而不浪费大量的记忆。