問題タブ [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 95:if条件のインライン評価
ここに、実際の値に対してepsilon()を返す小さなコードスニペットがあります。
さて、if条件を次のように置き換えると
プログラムは見返りに同じであるはずですが、残念ながらそうではありません!LinuxとWindowsでg95の最新(スナップショット)リリースでテストしました。
誰かがその問題を私に説明できますか?
fortran - Fortran の測定単位
fortran の測定単位に関連付けられた数量を処理するためのデータ型とサービスを定義するライブラリはありますか?
fortran - Fortran 90 のオプションのサブルーチン
fortran 90 でこの目的を達成するにはどうすればよいですか? 関数を受け入れるルーチンがあります
今、ルーチンをオプションにしたい
さて、 mysub が標準変数である場合、次のvar
ようなことができます
しかし、私の知る限り、オプションのサブルーチンに対して同じことを実行することはできません。実際には、これは不可能です
l_mysub を宣言できないためです。私が知らないトリックで可能ですか?はい、もちろんできます
しかし、私のケースはより複雑で、このチェックをどこにでも配置する必要があります。渡すことができるオプションのサブルーチンが 3 つあるとします。
arrays - 2 レベルのサブルーチンで形状引き継ぎ配列を渡す (Fortran 90)
Fortran 90 で形状引き継ぎ配列を使用してサブルーチンを連続して呼び出すときに問題がありました。具体的には、形状引き継ぎ配列をパラメーターとして渡して 2 つのレベルのサブルーチンを呼び出しましたが、最終的に配列が失われました。それを実証するために、以下のコードに従うことができます。
すぐに、main は x を割り当て、sub1(x) を呼び出します。次に、sub1 が sub2(x) を呼び出します。つまり、割り当てられた配列が別のサブルーチンに渡されるサブルーチンに渡されます。main で作成したのと同じ配列が sub2 にあると予想されますが、そうではありません。gdb をツールとして使用して探索すると、次のようになります。
1) main では、sub1 を呼び出す直前に、配列 x が完全に定義されています。
(gdb) px
$1 = (5, 0, 0, 0, 0, 0, 0, 0, 0, 0)
2) sub1 内で、sub2 を呼び出す直前に、x も明確に定義されています。
(gdb) px
$2 = (5, 0, 0, 0, 0, 0, 0, 0, 0, 0)
3) ただし、sub2 内では、x に予期しない値があり、その次元でさえ完全に間違っています。
(gdb) px
$3 = ()
(gdb) whatis x
type = REAL(4) (0:-1)
したがって、x は main から sub1 に正常に渡されましたが、sub1 から sub2 には渡されませんでした。私は Intel Fortran と gfortran を同じ結果で使用しています。
私は長い間それに苦労してきました。どんな助けでも大歓迎です。
G.オリベイラ。
fortran - Fortran 90でファイルをコピーする方法は?
ポータブルなクロスプラットフォーム方式でFortran90のファイルをコピーするにはどうすればよいですか?
fortran - system() を使用した単純な fortran プログラムのクラッシュ
このプログラムは、ifort の SIGSEGV でクラッシュします。
gdb:
ifort --バージョン
これはバグですか、それとも機能ですか?
fortran - FORTRAN 90 構造体で MPI_type_contiguous と MPI_Type_CREATE_Subarray を使用するには
こんにちは、このようなfortran構造を使用しようとしています
ここで、私のテスト プログラムの目的は、あるプロセッサから別のプロセッサに 10 個の数字を送信することですが、これらの 10 個の数字の開始点は私の選択です (たとえば、必要のない 20 個の数字のベクトルがある場合、最初の 10 個の数字を使用して次のプロセッサですが、私の選択は 5 から 15 です)。まず、このように mpi_type_contiguous を使用します
send rec を実行し、最初の 10 個の数字を他のプロセッサに取得できました (2 つのプロセッサでテストしています)。
これを送ります
2番目の部分では、mpi_TYPE_CREATE_SUBARRAYを使用したので、
これを行う方法がわかりません。
というエラーが表示されます
ローカル マシンで openmpi を使用しています。mpi_type_contiguous 部分がなくても subarray コマンドを使用できました。ただし、両方を組み合わせると、実際のコードに fortran を使用した構造があるため、この場合はそれを行う必要があります。それを行うためのより良い方法があるかどうかはわかりません。どんな種類のヘルプや提案も大歓迎です。前もって感謝します
fortran90 - Fortran 90 プログラムで配列の値を保存する
私は、システムのさまざまな変数の 2 次元および 1 次元の配列を持っています。これは、次の構成がそこから進化するシステムの平衡状態を特徴付けます。ここで、特定の状況でこれらの配列にデータを保存して続行する必要があるため、メインプログラムの宣言 (構文) と、これらの配列を使用して調整可能に配信されるサブルーチンにどのように記述する必要がありますか?配列を渡すサイズ配列メソッド?
fortran - x%aa は Fortran 90 配列セクションですか?
次のようなユーザー定義型を使用しますfoo
。
x
およびそのタイプの変数:
はx%a
配列セクションですか?