私はforall
を使って動的配列を割り当てようとしましたが、gfortranはそれを好まなかったのです。私はまた、forall
ブロックでwrite
ステートメントが禁止されていることを知りました。私はread
ステートメントもそうだと考えています。Fortran forallの制限
forall
ブロックには他のどのような機能/操作が許可されていませんか?
注文が問題ではないときにdo
ループを置き換えることがありますが、このコンストラクトはまったく何ですか?特に、操作の順序が重要ではないときに表示すると、より読みやすく、エレガントなコーディングができると思っていましたが、forall
の中でどのような操作ができるかは非常に制限されています。
これらの制限の理由は何ですか?つまり、ユーザーが邪魔しないように保護する/防止する対象は何ですか。 forall
を使用することをお勧めしますか?もしそうなら、どんな目的のために?私はそこだけ1 forall
ブロックがある、と私はdo
ループでそれをすべてを翻訳した場合、それは4つのネストされたループを与えるだろうに取り組んでいるコードで今
。どちらの方が良いですか?
ありがとうございます、あなたはそれをかなり明確にしました。 –