関連情報
ホーム > 製品 & サービス > NAG Fortran コンパイラ > Fortran Builder > プログラムの精度を一元化する

Fortran Builder でプログラムの精度を一元化する

プログラムに含まれている実数と複素数の変数宣言と定数表現に対して、種別型パラメタを変数の形で一意に導入すると伴に(以下、この変数を「精度パラメータ」と呼びます)、精度パラメータの定義(組込み手続 SELECTED_REAL_KIND を用いて値を取得します)を含むモジュールを自動的に生成することができます(以下、このモジュールを「精度モジュール」と呼びます)。
精度パラメータを用いることで、プログラムの精度を一元管理することができます。

※ 以下の例では Windows 版を用いていますが、Mac 版でも同様の手順でご利用いただけます。

利用例

以下のプログラム例 main.f90 に対して、精度パラメータを導入し、精度モジュールを生成します。

[ main.f90 ]

program main
  implicit none
  real a, b
  complex c
  a = 1.375
  b = 2.5_1
  c = (5.0, 3.0)
  print *, a
  print *, b
  print *, c
end program

※ 以下の説明は、この main.f90 が Fortran Builder のプロジェクトに追加されていることを前提としています。

Fortran Builder のメニューバーから「ツール > 精度の一元化」を選択してください。

メニュー

「精度の一元化」ウィンドウが開きますので、このまま「OK」ボタンを押してください。

ウィンドウ

以下のように、main.f90 に精度パラメータ wp が導入され、精度モジュール working_presicion が生成されます。
(ソースファイル working_precision.f90 がプロジェクトフォルダーに作成され、プロジェクトに追加されます。)
これにより、プログラムの精度を一元管理できるようになります。

※ 変換または生成されたソースファイルのコーディングスタイルは、
ソース整形の設定(メニュー「ツール > ソース整形の設定」)が適用されます。

[ main.f90 ]

Program main
  Use working_precision, Only: wp
  Implicit None
  Real (Kind=wp) :: a, b
  Complex (Kind=wp) :: c

  a = 1.375_wp
  b = 2.5_wp
  c = (5.0_wp, 3.0_wp)
  Print *, a
  Print *, b
  Print *, c
End Program main

[ working_precision.f90 ]

Module working_precision
  ! Precision module generated on 2016-05-10 at 15:23:58 +9:00.
  Integer, Parameter :: wp = selected_real_kind(15)
End Module working_precision

Results matter. Trust NAG.
Privacy Policy | Trademarks