最新のFortranで、ベクトルを使用して多次元配列にインデックスを付けることは可能ですか?つまり、与えられた、例えば、
integer, dimension(3) :: index = [4,6,9]
double precision, dimension(10,10,10) :: data
data(4,6,9)
書くよりも良い(より一般的な)アクセス方法はありますdata(index(1), index(2), index(3))
か?data
配列のランクをハードコーディングする必要がないのは良いことです。
(素朴に書きたいのですdata(index)
が、もちろんこれは実際には別の何かを意味します-サブセットの「収集」-data
ランク1の配列自体である必要があります。)
これは本質的に、JavaScriptのインデックスの配列による多次元インデックスと同じ質問ですが、代わりにFortranにあります。残念ながら、そこにある巧妙な答えは、事前定義された配列ランクでは機能しません。