問題タブ [fortran90]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
fortran - Fortran SAVE ステートメント
(Intel の) 言語リファレンス ドキュメントのステートメントについて読みましたsave
が、それが何をするのかよくわかりません。save
ステートメントがモジュールに含まれている場合の意味を簡単な言葉で説明してもらえますか?
fortran - Fortran90オプションの引数の存在
pgf90 7.2でのpresent()組み込み関数の動作を理解していません。これをテストするために20行のサンプルプログラムを作成しましたが、結果はまだ意味がありません。観察:
メインプログラムからtestopt(1,2、(any variable))を呼び出すと、「present check:TF」と出力されます。ただし、I:サブプログラムからtestopt(1,2、(any variable))を呼び出すと、「present check:TT」と出力されます。どちらの場合も「presentcheck:F F」が表示されると予想しました。これは、オプションではない3つの引数のみを使用してサブルーチンを呼び出しており、オプションの引数はどちらも呼び出していないためです。なぜこのように動作するのか理解できず、これが私が取り組んでいるプログラムに大きなバグを引き起こしています。洞察に感謝します。ありがとう。
c - F90でCデータファイルを読み取る
私はプログラミングの専門家ではありませんが、ある程度の経験があります。CからFortranプログラムにデータファイルを読み込もうとしているのは1週間以上です。Cプログラムは、次のように行列をbin形式のデータファイルに保存します。
F90の私の読んだセクションは次のとおりです。
問題の解決にご協力いただければ幸いです。
fortran - fortran 77 から fortran 90 への変換ソフトウェア
Fortran 77 用のコーディングをしていますが、Fortran 90 に変換したいのですが、コンバーター ソフトウェアはどこでダウンロードできますか??
multidimensional-array - Fortran デバッグ print ステートメントがプログラム フローに影響する
配列を反復処理し、決定論的に新しい行ベクトルを作成し、それを配列に追加するプログラムがあります。
各反復でベクトルのノルムが取得され、ゼロ ベクトルではないことが保証されます。ゼロの場合、プログラムは停止します。
3 回目の反復でベクトルがゼロになるというバグがありました。
このバグを探すために、デバッグ用の print ステートメント、print *、"here"、this_var などをコードに入力しました。これらの print ステートメントの 1 つ (最新のベクトルのノルムを出力します) がプログラムを修正しました。
私は印刷ステートメントが好きではありません。また、何が起こっているのか理解できないのも好きではありません。
print ステートメントが印刷するものに影響を与える理由について誰か考えがありますか?
コード (最大 400 行、大量のコメント) が利用可能
c - Fortran はどのように配列を返しますか?
Rule_Tn
Fortran ライブラリ CUBPACKのサブルーチンにはIntegrand
、統合ベクトル関数を記述するパラメータが必要です。それは
Rule_Tn
C コードから呼び出したいので、上記のこのインターフェイスに正確に一致する C で関数型を定義する必要があります。したがって、Fortran 関数が配列を返す方法を理解しようとしました。最初は、次の C シグネチャを想定していました
上記のインターフェースに一致します。しかし、はるかに間違っています!セグメンテーション違反になりました。そして、 double が に対応する型であることを既にテストしておりREAL(KIND=STND)
、STND
はモジュールから出てきますPrecision_Model
。
正しい署名を教えてください。GNU Fortran および C コンパイラを使用しています。
types - gfortran で明示的な変数宣言を強制する
mex を使用して matlab からいくつかの fortran コード (f90) をリンクしていますが、時々 matlab がフリーズします。
以前は、データ型の不一致 (integer*4 と integer*8 など) が原因でフリーズが発生していました。
リンクしているコードには多くの暗黙的に定義された変数が含まれているため、たまにしか発生しない非表示のデータ型の競合があるかどうか疑問に思っています。
フリーズの原因としてデータ型の不一致を排除するために、コンパイラですべての変数を明示的に宣言する必要があるようにしたいと考えています。
質問:
コンパイル時にすべての変数を明示的に宣言するよう gfortran に要求するにはどうすればよいですか? それができない場合、少なくとも警告を受け取る方法はありますか?
すべてのアーキテクチャで特定の種類として gfortran によって解釈される「実際の」データ型はありますか? もしそうなら、それはどれですか (real*4, real*8, ...)?
gfortran に「実際の」データ型を特定の種類、たとえば「real*4」として解釈させる方法はありますか?
matlab でコンパイルされた mex ルーチンから呼び出されたときに fortran コードがフリーズする理由 (データ型の不一致以外) に関するアイデアはありますか?
助けてくれてありがとう。
これを理解するまで、暗黙的に定義されたすべての変数をリストしようとする多くのコード行を調べます。言うまでもなく、このような退屈な仕事から解放してくれる人には、とても感謝しています...
一番、
G.
fortran - スタック出力の概念
私は新しいFORTRANユーザーです。前の出力を削除せずに出力をスタックに書き込みたい。1 つの "ELECTRON1" に対して 3 つの出力 A、B、C があるとします。別の「ELECTRON2」のコードを実行すると、以前のすべての出力が上書きされます。ということで、空行1行でスタック的に書きたいと思います。
どうすればできるか教えてください.......私はあなたにとても感謝しています...
よろしく
debugging - 問題のあるコードをキャッチするために、GFORTRAN デバッガー/コンパイラーにどのフラグを設定しますか?
これに答えるには経験が必要なので、どの教科書にも載っていないと思います。私は現在、コードをテスト/検証し、バグを探して製品状態にする段階にあり、エラーが発生すると、多くの人がダークサイドなどに苦しむことになります.
デバッグ目的で Fortran 用にプログラムをコンパイルするとき、どのような種類のフラグを設定しますか?
本番システムにはどのようなフラグを設定していますか?
デプロイする前に何をしますか?
製品版はifort
コンパイラとして使用しますが、私は でテストを行いgfortran
ます。私はそれを間違っていますか?
variables - Fortran 90 での変数名のループ
さまざまな次元の配列が大量にあります。ただし、var1、var2 などのように順番に名前を付けています。それらを読むために、次のような方法でそれらをループすることに興味があります。
もちろん、配列は次元が異なるため、単純に次元を追加して 1 つの次元に折りたたむことはできません。
私の印象では、Fortran は文字列を変数名などに変換することを許可していないので、これを処理する方法を知っている人はいますか?
ありがとう!