5

未知のランクの引数を取るサブルーチンを Fortran でどのように処理するのが最善なのか疑問に思っています。例えば:

Real * 8 :: array1(2,2),array2(2,2,3)

call mysubroutine(array1)
call mysubroutine(array2)

今のところ、サブルーチンの形状 (ランクの数) を常に修正する必要があります。

たとえば、組み込みサブルーチンrandom_number ( array ) で実行できます。(でも、Fortran でコーディングされていないのでしょうか?)

4

2 に答える 2

5

配列ランクごとに特定のサブルーチンを作成する必要がありますが、すべてのランクに対してジェネリック呼び出しを使用でき、呼び出す特定のものを把握する必要がないように、ジェネリック インターフェイスを作成します。「割り当て」のラッパーを作成する方法のサンプルコードがあります

于 2013-05-28T08:29:54.280 に答える