具有特定索引的数组

时间:2015-12-07 20:11:56

标签: arrays memory-management fortran dynamic-memory-allocation

是否可以在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)的所有实例将是一个解决方案,但我不想修改表达式。这就是为什么,我想知道是否有任何选择而不浪费大量的记忆。

0 个答案:

没有答案