Fortran:外部ファイルのパラメーター/変数

ルーパー

最初に同じコードブロックを使用するプログラムがいくつかありますが、異なる処理を実行します。このコードブロックを外部ファイル(Fortranファイルまたはテキストファイル)で宣言することは可能ですか?したがって、このコードの一部(私が話しているブロック内)を変更したい場合は、で変更する必要はありませんすべてのプログラム?

例:外部ファイルで生成されたベクトルXを使用して異なる操作を実行する2つのプログラムMAIN1およびMAIN2。

PROGRAM MAIN1
  IMPLICIT NONE
  ! External block here
  REAL, PARAMETER :: M = REAL(N)*2.0
  INTEGER         :: i
  REAL            :: Out1
  Out1 = 0.0
  DO i = 1,SIZE(X,1)
     Out1 = Out1+M*X(i)
  END DO
  PRINT *, Out1
END PROGRAM MAIN1


PROGRAM MAIN2
  IMPLICIT NONE
  ! External block here
  REAL, PARAMETER :: M = 1.0
  INTEGER         :: i
  REAL            :: Out2
  Out1 = 1.0
  DO i = 1,SIZE(X,1)
     Out2 = Out2*M*X(i)
  END DO
  PRINT *, Out2
END PROGRAM MAIN2

そしてこれは外部コードです:

INTEGER,PARAMETER :: N = 5
REAL              :: X(N)
CALL RANDOM_NUMBER(X)

モジュールに外部コードを入れようとしましたがINTEGER,PARAMETER :: N = 5IMPLICIT NONEステートメントの直後に外部ブロックを呼び出したい場合は、この方法でサブルーチンを呼び出すことはできません(すべての行がタイプである必要があることを理解しているため

何か案は?

フランチェスカラス

あなたがやりたいと思われることは、何らかの形のリストラなしでは不可能です。この理由は、その行が

call random_number(x)

実行可能ステートメントです。このような行は、すべての宣言に従わなければなりません。includeしたがって、(ステートメントなどによる単一のリテラルテキスト置換は許可されていません。

とはいえ、モジュールは実行可能なアプローチです。宣言と実行可能ステートメントを分離するだけで済みます。

module shared
  implicit none

  integer, parameter :: N=5
  real x(N)

contains

  subroutine setup
    call random_number(x)
  end subroutine

end module

program main1
  use shared    ! Note _before_ implicit
  implicit none

  real, parameter :: M=REAL(N)*2
  integer i
  real Out1

  call setup    ! Executable, after declarations.

  Out1 = 0.0

  do i = 1,SIZE(x,1)
    Out1 = Out1+M*X(i)
  end do
  print *, Out1

end program main1

[別の方法は、2つの異なるリテラルテキストを挿入することです。さらに悪いことに、1回の挿入に減らすと、block構成の使用になります。その厄介さを示すつもりはありません。]

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Snakemakeファイル内の複数の「パラメータ」

分類Dev

Bash関数パラメーター-ファイル名のスペース

分類Dev

最初のパラメータでファイル内のパラメータを変更する方法

分類Dev

settings.jsonファイルのAzure関数パラメーター

分類Dev

symfony2のパラメータファイルから変数を取得します

分類Dev

インクルードファイルの&*パラメータ

分類Dev

Fortranのパラメーターを使用して外部関数を渡す

分類Dev

phpメーラーでのデータ変数の処理とphpファイルのインクルード

分類Dev

TeamCityの外部ファイルからビルドパラメーターを設定する

分類Dev

外部ファイルからcloudformationテンプレートに複数のパラメーターを渡し、refで値を使用する

分類Dev

CommonJSファイルへのパラメーターの送信

分類Dev

SSIS-パラメータ/変数としてフラットファイルを使用する

分類Dev

ページの読み込み時にパラメータを渡す外部ファイルからJS関数を呼び出します

分類Dev

Rmarkdownファイルのパラメーター化

分類Dev

c ++ファイルのパラメーター

分類Dev

CSVファイル内の特定の行のパラメーターの数を数える方法

分類Dev

可変個引数のデフォルトパラメータ

分類Dev

パラメータの変数タイプの問題?- パワーシェル

分類Dev

txtファイルPHPへのURLパラメータの追加

分類Dev

.htaccessファイルのクエリパラメータのRewriteCond

分類Dev

Windowsバッチファイル:文字列+数値変数をコマンドラインパラメータの内容に設定しますか?

分類Dev

CSVデータセット:JMeterのURL変数をパラメーター化する-間違ったCSVファイル

分類Dev

複数のパラメーターファイルと単一のテンプレート用のCloudFormation

分類Dev

すべての.iniファイルパラメータ++

分類Dev

CMD(BAT)ファイルの奇妙なパラメータ置換

分類Dev

cshtmlファイルに複数のパラメーターを持つPostメソッドを呼び出す

分類Dev

sed +コメント解除パラメータとファイル内の値の変更

分類Dev

ファイルの読み取り中のFortranランタイムエラー:「不正な繰り返し回数」

分類Dev

JQueryプラグインファイルのパラメータを変更しようとしています

Related 関連記事

  1. 1

    Snakemakeファイル内の複数の「パラメータ」

  2. 2

    Bash関数パラメーター-ファイル名のスペース

  3. 3

    最初のパラメータでファイル内のパラメータを変更する方法

  4. 4

    settings.jsonファイルのAzure関数パラメーター

  5. 5

    symfony2のパラメータファイルから変数を取得します

  6. 6

    インクルードファイルの&*パラメータ

  7. 7

    Fortranのパラメーターを使用して外部関数を渡す

  8. 8

    phpメーラーでのデータ変数の処理とphpファイルのインクルード

  9. 9

    TeamCityの外部ファイルからビルドパラメーターを設定する

  10. 10

    外部ファイルからcloudformationテンプレートに複数のパラメーターを渡し、refで値を使用する

  11. 11

    CommonJSファイルへのパラメーターの送信

  12. 12

    SSIS-パラメータ/変数としてフラットファイルを使用する

  13. 13

    ページの読み込み時にパラメータを渡す外部ファイルからJS関数を呼び出します

  14. 14

    Rmarkdownファイルのパラメーター化

  15. 15

    c ++ファイルのパラメーター

  16. 16

    CSVファイル内の特定の行のパラメーターの数を数える方法

  17. 17

    可変個引数のデフォルトパラメータ

  18. 18

    パラメータの変数タイプの問題?- パワーシェル

  19. 19

    txtファイルPHPへのURLパラメータの追加

  20. 20

    .htaccessファイルのクエリパラメータのRewriteCond

  21. 21

    Windowsバッチファイル:文字列+数値変数をコマンドラインパラメータの内容に設定しますか?

  22. 22

    CSVデータセット:JMeterのURL変数をパラメーター化する-間違ったCSVファイル

  23. 23

    複数のパラメーターファイルと単一のテンプレート用のCloudFormation

  24. 24

    すべての.iniファイルパラメータ++

  25. 25

    CMD(BAT)ファイルの奇妙なパラメータ置換

  26. 26

    cshtmlファイルに複数のパラメーターを持つPostメソッドを呼び出す

  27. 27

    sed +コメント解除パラメータとファイル内の値の変更

  28. 28

    ファイルの読み取り中のFortranランタイムエラー:「不正な繰り返し回数」

  29. 29

    JQueryプラグインファイルのパラメータを変更しようとしています

ホットタグ

アーカイブ