くだすれFORTRAN(超初心者用)その4at TECHくだすれFORTRAN(超初心者用)その4 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト100:デフォルトの名無しさん 09/03/25 12:58:20 >>99 オレ、一個の超特大module にしている。 101:デフォルトの名無しさん 09/03/28 00:56:59 >>96 めったに使わんが、関数なんかを引数にする汎関数?っぽいサブルーチンなんかでは インターフェースを書いて引(関)数を指定せざるおえないな。 77時代はExternalを書いておけばよかったが、90だとInterface書かないと文句言われる。 F2003では、Methodの記述用にPROCEDURE(..)宣言子が新設されたので、 場合によってはインターフェース代わりに使えるのかもしれないが。 102:デフォルトの名無しさん 09/03/28 12:21:25 なんか、副プログラムの引数やら型を渡す儀式のパターンが増えちゃったよね。 並列計算を意識してか想定しているシステムの種類を 増やさないといけない関係かも知れないけど、 男は黙ってインライン、とはいかないのか。 103:デフォルトの名無しさん 09/03/28 22:43:15 ちょっと便乗して質問します。今、不便を我慢して使ってきたcommon文を全部module文にしようかと 思ってるんですけど、何か気をつけるべきことやありがちな落とし穴とかありますかね? もちろん自分でテストはしますが、後の運用性とか未然にバグを防ぐとかでもっと上手く出来そうなら 指摘してもらえますか?例えばこんな感じです。 PARAMETER (MNM=5000,MNC=100) DOUBLE PRECISION CC(MNC) COMMON /CELL/ CC,CG(6,MNC),NCX,NCY COMMON /MOLS/ NM,PP(3,MNM),PV(3,MNM) ってのが使用される各サブルーチン先頭に書いてあったのを ↓ module mnpara PARAMETER MNM=5000,MNC=100 end module module cell use mnpara DOUBLE PRECISION CC(MNC) real CG(6,MNC) integer NCX,NCY end module module mols use mnpara real PP(3,MNM),PV(3,MNM) integer NM end module と、mainの前に書いて、各サブルーチン中でuse cellなりuse molsなりと。 double precisionと型宣言の扱いがこれでいいか良くわからんのですがこれで大丈夫でしょうか? 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch