みんな
私は Fortran90 プログラムを持っており、変数は倍精度または複素数*16 です。変数が実数または複素数である別のプログラムを作成する必要があり、他のすべてのことは元のプログラムと同じです。
簡単な方法はすべての宣言を書き直すことですが、これを達成するための他の簡単な方法があるかどうか疑問に思っています.gfortranをコンパイラとして使用しています.
ありがとう
おそらく最もクリーンな (最も簡単ではありませんが) 方法は、変数の精度を調整できるようにプログラムを書き直すことです。
program test
implicit none
integer, parameter :: rp = kind(1.0d0)
real(rp) :: myreal
complex(rp) :: mycomplex
パラメーターrp
(実精度) をkind(1.0)
代わりに設定することでkind(1.0d0)
、double から single に切り替えることができます。または、fortran 2003 互換コンパイラを使用すると、モジュールを呼び出した後に名前real64
を使用することもできます。(更新: fortran 2003 ではなく、fortran 2008 互換のコンパイラが必要です。IanH のコメントを参照してください)。real32
iso_fortan_env