1

2つのFortran-90サブルーチンを1つのメイン関数に統合しようとしています。両方のサブルーチンで使用されるアルゴリズムは論理的には似ていますが、配列サイズが異なります(3などの代わりに4つのパラメータを使用して値を計算するなど)。サブルーチンv/sに多くの変数を渡すサブルーチン内の変数を宣言する

私は、配列を宣言し、メイン関数でメモリを割り当てて、引数としてサブルーチンに渡すか、呼び出されたときにサブルーチンを実行させることができます。前者の場合、多くの引数を渡すことになります。後者の場合、変数の割り当てと割り当て解除を何度もやりますが、サブルーチンコール中にはほとんど引数を渡さなくなります。

コードがサブルーチンを数千回呼び出す可能性があるので、目標を達成するための効率的な方法を選択する必要があります。誰かがこれにどのような光を当てることができますか?

+0

あなたは彼らを爆発的に見たり、共通ブロック(パブリック)を使用することができます。それらを渡すことで、それを並行して呼び出すことができます。定数パラメータの場合、私は通常それらを公開します(共通)。あなたはおそらく両方を行い、時差が何かを見たいと思うでしょう。 – Holmz

+0

@Holmz、返事をありがとう。あなたが提案した運動を試し、それがどのように進むのか見てみましょう。 – Mithil

答えて

0

引数が概念的にリンクされている場合は、引数として使用するパラメータを含むオブジェクト(派生データ型)を作成し、そのオブジェクトをサブルーチンに渡すことができます。

関連する問題